все немного по-другому. Вы должны проверить код ответа, который следует после http-запроса.

ожу большие различия во времени, которое требуется Android MediaPlayer для подготовки к воспроизведению в прямом эфире с различными потоками.

Твердые данные

Я добавил протоколирование между prepareAsync () и обратным вызовом onPrepared (MediaPlayer mp) и протестировал несколько потоков по несколько раз каждый. Время для каждого потока было очень согласованным (+/- одна секунда), и вот результаты:

Поток новостей MPR: 27 секунд (http://newsstream1.publicradio.org:80/)Поток классической музыки MPR: 15 секунд (http://classicalstream1.publicradio.org:80/)MPR Текущий поток: 7 секунд (http://currentstream1.publicradio.org:80/)Поток PRI: 52 секунды (http://pri-ice.streamguys.biz/pri1)

Тесты проводились на Nexus S с Android 2.3.4 при подключении 3G (~ 1100 Кбит / с).

Воспроизведение не потоковых аудиофайлов MP3 не является проблемой.

Вот фрагменты того, как я играю в потоках:

Подготовьте MediaPlayer:

...
mediaPlayer.setDataSource(playUrl);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepareAsync();
...

Затем в onPrepared (MediaPlayer mp):

mediaPlayer.start();

Почему подготовка одних потоков занимает так много времени, а других - нет? Приведенные выше данные свидетельствуют о том, что этомог бы основываться наколичество данных, которые были буферизованы, а непродолжительность буферизованного аудиоконтента. Может ли это быть на самом деле?

Обновить: Я тестировал потоковую трансляцию на физических устройствах с Android 1.6, 2.2 и 2.3.4 и эмуляторах с 1.6, 2.1, 2.2, 2.3.1 и 2.3.3. Я вижу только большую задержку на 2.3.3 и 2.3.4. Старые версии начинают воспроизведение в течение 5 секунд.

Ответы на вопрос(6)

Ваш ответ на вопрос