Способ запуска аудиоплеера на Android с веб-страницы для потоковой передачи мультимедиа - PullRequest
4 голосов
/ 14 февраля 2011

Для связи с потоками интернет-радиостанций SHOUTcast / HTTP, обычно вы должны ссылаться на файл списка воспроизведения, такой как M3U или PLS. Оттуда браузер запускает аудиоплеер, зарегистрированный для обработки списка воспроизведения. Это прекрасно работает на любом ПК, Palm, Blackberry и iPhone.

Этот метод не работает в Android без установки дополнительного программного обеспечения. Конечно, Только списки воспроизведения или StreamFurious могут справиться с этим просто отлично, но я предполагаю, что должен быть способ вызова аудио или видео плеера, обычно устанавливаемого по умолчанию в установках Android.

По умолчанию ни один аудиоплеер не способен обрабатывать M3U или PLS. Плеер, кажется, открывает его, но говорит «Неподдерживаемый тип носителя».

Чтобы сделать это еще более раздражающим, браузер может передавать потоковое аудио в формате MP3 через HTTP, просто открыв ссылку на файл MP3. Я попытался просто связать напрямую с потоком MP3, размещенным в SHOUTcast, который должен закончиться тем же результатом, но SHOUTcast обнаруживает «Mozilla» в строке user-agent, и вместо отправки потока, он отправляет информационную страницу для станция.

Как подключиться к потоку SHOUTcast на Android с обычного мобильного сайта без использования дополнительных приложений?

Ответы [ 4 ]

3 голосов
/ 17 февраля 2011

Как отмечается в комментариях, то, что вы спрашиваете, невозможно, по крайней мере, пока не выйдет 3.0, и даже тогда пройдет много времени, прежде чем функциональность будет на большинстве устройств.Ограничение «без дополнительных приложений» слишком ограничивает.Вот некоторые альтернативы, которые нарушают это ограничение, и я призываю вас рассмотреть:

  • Попросить пользователей установить приложение
    Да, это не то, что вы хотите,но это проще всего сделать. Просто плейлисты (как вы обнаружили) было бы неплохо порекомендовать.

  • Использовать вспышку
    Не у всех есть вспышка, но для тех, которые делают, вы можете встроить флэш-виджет для воспроизведения плейлиста.Я нашел тот, который звучит так, как будто он будет работать только из быстрого Google.Есть ли у SHOUTcast собственный флеш-плеер?

  • Подождите
    По сути, ваш единственный другой вариант, так как этой функции пока нет в Android.

1 голос
/ 29 июля 2012

Решение для всех Android!(проверено на 2.1 и позже)

Оказывается, это возможно .Для Android вместо того, чтобы ссылаться на плейлист, как на других платформах, вы просто ссылаетесь непосредственно на поток.(Похоже, это было то, на что намекал Рубен Скрэттон в своем комментарии. Хотелось бы, чтобы я видел его комментарий ранее!)

Браузер подключится к потоку, обнаружит Content-Type, а затем решит пройтион отключен на медиаплеер по умолчанию, если он может с этим справиться.Медиаплеер затем запустит буфер и начнет воспроизведение.

Обратите внимание, что вы должны сделать немало взлома на SHOUTcast, если вы хотите, чтобы это работало, так как Android требует допустимый ресурс HTTP ,который SHOUTcast не предоставляет.Также обратите внимание, что кодирование по частям не работает на Android 2.2 и более ранних версиях.

В качестве примечания: если вы не хотите писать свой собственный код для этого, я реализовал потоковую передачу вAndroid в AudioPump , сервер потокового мультимедиа, над которым я работаю.

1 голос
/ 24 февраля 2011

Какой тип потока содержится в вашем файле M3U?

Вы можете пропустить M3U и, например, установить источник данных непосредственно в поток rtsp.

mediaPlayer.setDataSource("rtsp://xxx/stream.stream");

Работает отлично

Не забудьте запустить его в другом потоке.

0 голосов
/ 15 июня 2011

Наконец-то нашли решение!Используйте Opera веб-браузер, который предложит сохранить файл m3u.Затем запустите justplaylists .Работает как шарм на моем HTC Incredible 2

...