На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> Как правильно воспроизвести mp3 файл с файловой системы? , Не могу воспроизвести большие файлы?
    Здравствуйте, у меня возникла проблема с воспроизведением большого mp3 файла. Мидлет выбрасывает ошибку Out Of Memory если я пытаюсь воспроизвести файл, размер которого, как я предполагаю, больше оперативной памяти телефона или эмулятора.

    Вот функция создания плеера:
    ExpandedWrap disabled
          public void myplayer(FileConnection fc) {
              String text = "Воспроизведение файла" ;
              tb = new TextBox("Проигрыватель", text, 128, TextField.UNEDITABLE);
              Display.getDisplay(this).setCurrent(tb);
              tb.setCommandListener(this);
        
              tb.addCommand(Exit);
       
              tb.addCommand(VolDOWN);
          
              tb.addCommand(VolUP);
       
              tb.addCommand(Play);
                     try
              {
            
                is =fc.openInputStream();
               player = Manager.createPlayer(is, "audio/mpeg");
              
               if (player==null)
                  {
                   errorMessage();
                  }  
               else
                  {
                   player.addPlayerListener(this);
                  
                   player.realize();
                   player.prefetch();
                   volc = (VolumeControl)player.getControl("VolumeControl");
                  }
                  
       
              }
              catch(Exception x)
              {
               errorMessage();  
              }
          }

    Подскажите как правильно воспроизвести файл с файловой системы, чтобы избавится от этой ошибки?
    ЗЫ. К теме прикрепляю проект приложения из NetBeans. Прикреплённый файлПрикреплённый файлplayermenedjer.zip (35,81 Кбайт, скачиваний: 189)
    ЗЫЫ. Прошу не ругать за плохой код, я только учусь.
      Ау! Здесь есть кто живой, помогите пожалуйста, а то меня уже посещают мысли, что надо как-то читать файл кусками в буфер и скармливать это все плееру. :wall: :scratch: :-?
        Проблема, как оказалось, банальная. Нужно использовать другой конструктор для создания плеера. Изначально я использовал конструктор
        createPlayer(is stream, String type)
        ну и соответственно файл который я хотел воспроизводить до создания плеера был уже открыт во входящий поток is, поэтому когда я попробовал использовать конструктор
        createPlayer(String locator)
        плеер не создавался, так как файл был уже открыт. Проблема решилась просто: удалил переменную is и начал использовать другой конструктор.
          Цитата studentus @
          Проблема, как оказалось, банальная. Нужно использовать другой конструктор для создания плеера. Изначально я использовал конструктор
          createPlayer(is stream, String type)
          ну и соответственно файл который я хотел воспроизводить до создания плеера был уже открыт во входящий поток is, поэтому когда я попробовал использовать конструктор
          createPlayer(String locator)
          плеер не создавался, так как файл был уже открыт. Проблема решилась просто: удалил переменную is и начал использовать другой конструктор.

          а можно поподробнее? переменную is убрал
          плеер создаю так
          ExpandedWrap disabled
            player = Manager.createPlayer(fc.getURL());

          и у меня вываливается ошибка,
          или надо по другому?
            Параметром в конструкторе должна быть строка-локатор, которая для воспроизведения с флэшки должна выглядеть так: FILE:\\\E:\папка\...\файл.
            У вас передается похожее значение?
              Вернее так: FILE:///E:/папка/.../файл
                Требуется разрезать видеофайл мпег на составляющие так чтобы их по отдельности читал виндовый проигрыватель или хотя бы просто файл с начала но не дописанный до конца. Как это можно сделать?
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0307 ]   [ 18 queries used ]   [ Generated: 24.04.24, 06:05 GMT ]