2012-06-18 7 views
1

Я разрабатываю пример приложения, которое может воспроизводить потоки mp3-файлов shoutcast (разработка для платформ S40, CLDC 1.1, MIDP 2.0). Я использую переход двух игроков для продолжения воспроизведения.Потоковое воспроизведение MP3 с использованием переключения плеера

Я использовал приведенную ниже логику для потоковой передачи.

Buffer enough chunks 
Start Player1 
Wait Player1 to finish 
Start Player2 
Wait Player2 to finish 
repeat... 2 

Проблема заключается в том, что слушатель может почувствовать 1 Вторую тишину (разрыв) при переключении между игроками.

Я хотел бы знать, можно ли передавать аудио с сервера без пробелов (при переключении игроков)?

Вот мой код для запуска плеера:

Player p = Manager.createPlayer(is, type); 
p.addPlayerListener(playerListener); 
p.realize(); 
p.prefetch(); 

Player2 является упреждающей выборкой, прежде чем Player1 отделки - я создал очередь FIFO для игроков, и когда кусок загружается, я создаю входной поток -> Игрок -> Realize() -> Prefetch() -> Push в очередь.

+0

Вы используете ** [Player.prefetch()] (http://docs.oracle.com/javame/config/cldc/opt-pkgs/api/mm/jsr135/javax/microedition/media/Player. html # prefetch() "API javadocs") **? Этот метод «Получает ограниченные и эксклюзивные ресурсы и процессы как можно больше данных, чтобы ** уменьшить начальную задержку ** ...» – gnat

+1

Да, я использую Player.prefetch() и вот мой код для запуска игрока. Игрок p = Manager.createPlayer (есть, тип); p.addPlayerListener (playerListener); p.realize(); p.prefetch(); – MobDev

+0

Начинается ли игрок2 перед финишем игрока1? –

ответ

1

Существует также этот проект: mfradio.sourceforge.net, но он больше не поддерживается, и я не получил его для работы на «позднем» устройстве MIDP (Sony W995). Я все еще использую другое устройство для Android.

Возможно ли ваше развитие?

Спасибо.

 Смежные вопросы

  • Нет связанных вопросов^_^