Я разрабатываю пример приложения, которое может воспроизводить потоки 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 в очередь.
Вы используете ** [Player.prefetch()] (http://docs.oracle.com/javame/config/cldc/opt-pkgs/api/mm/jsr135/javax/microedition/media/Player. html # prefetch() "API javadocs") **? Этот метод «Получает ограниченные и эксклюзивные ресурсы и процессы как можно больше данных, чтобы ** уменьшить начальную задержку ** ...» – gnat
Да, я использую Player.prefetch() и вот мой код для запуска игрока. Игрок p = Manager.createPlayer (есть, тип); p.addPlayerListener (playerListener); p.realize(); p.prefetch(); – MobDev
Начинается ли игрок2 перед финишем игрока1? –