Размер апплета (15 мегабайт) слишком тяжел для загрузки? - PullRequest
2 голосов
/ 20 октября 2011

Хотелось бы узнать, достаточно ли загружается 15-ти мега апплет для загрузки?
Моя главная проблема - два звуковых файла (.Au), которые имеют вес около 9 мегабайт.
У кого-нибудь есть предложение, как использовать mp3, может быть, вместо этого или другие идеи снижения веса?
Спасибо

Соответствующий код:

   public class DJ 
    {

        private ArrayList<Clip> m_Records = new ArrayList<Clip>();
        private int m_CurrentRecored = 0;
        private Thread m_MusicThread = null;
        private AppletContext m_AppletContext;
        //java.net.URL m_CodeBase;
        //AppletContext ac;

        public DJ() 
        {
            try 
            {
                createClip(getClass().getResourceAsStream("/Music/train.mp3"));
                createClip(getClass().getResourceAsStream("/Music/machine.mp3"));
            }
            catch (Exception ex)
            {
                Logger.getLogger(DJ.class.getName()).log(Level.SEVERE, null, ex);
            }

        }

        private void createClip(java.io.InputStream i_SoundFileStream) throws Exception
        {

            InputStream i = new AudioStream(i_SoundFileStream);

            AudioInputStream sound = AudioSystem.getAudioInputStream(i);
            // load the sound into memory (a Clip)
            DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
            Clip clip = (Clip) AudioSystem.getLine(info);
            clip.open(sound);
            m_Records.add(clip);
        }

Ответы [ 3 ]

5 голосов
/ 20 октября 2011

У кого-нибудь есть предложение, как использовать mp3, может быть вместо этого ...

Добавьте mp3plugin.jar JMF в путь к классам времени выполнения апплета (в элементе архива), и Java Sound сможет открывать MP3-файлы, как если бы они были wav-файлами. или au.

Плагин MP3 не сможет анализировать некоторые из более современных MP3, которые выполняют нестандартные функции, такие как обложки в MP3, но кодируют их в стандартном формате MP3, и он будет обрабатывать их в порядке.


.. что вы имели в виду, добавив mp3plugin.jar в путь класса времени выполнения апплета (в элементе архива)?

<HTML> 
<BODY> 
<APPLET 
    archive="MyGame.jar,mp3plugin.jar" 
    code="GUI.JPanelGameApplet" 
    width=800 
    height=580>
</APPLET> 
</P> 
</BODY> 
</HTML>

Обратите внимание, что я также изменил Archive на archive (просто чтобы все было согласованно) и

code="GUI/JPanelGameApplet.class"

(обычно допускается, но не правильно) до

code="GUI.JPanelGameApplet" 

(предполагается, что апплет находится в пакете GUI). Если апплет не в пакете GUI, элемент должен быть написан по-другому.


Я скачал плагин MP3 в формате exe ..

Игнорируйте ссылку EXE и скачайте Zip!

.. Я установил его "

Не беспокойтесь о запуске / установке EXE (EXE не используется для конечных пользователей на Mac или Unix / Linux). Просто разверните Zip и добавьте Jar в путь к классам во время выполнения

Я обязательно внесу изменения в код HTML.

Это будет «проблема решена» (для встроенного апплета).

4 голосов
/ 20 октября 2011

Вы можете использовать JLayer для использования mp3.

Один из способов уменьшить размер вашего апплета - это загрузить аудио отдельно или транслировать его так, чтобы вы могли по крайней мере иметь полосу загрузки /изображение во время получения музыки.

1 голос
/ 20 октября 2011

Проверьте любой калькулятор времени загрузки - это более минуты на очень хорошей линии. Звучит как очень тяжелый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...