Как я могу воспроизвести поток shoutcast/icecast с помощью HTML5?

можно ли воспроизвести поток shoutcast/icecast с помощью HTML5?

Если да, то как мне реализовать это?

6 ответов


добавьте точку с запятой в конец http-запроса. Это протокол, установленный shoutcast, чтобы переопределить его обнаружение браузера. Вот так:

<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>

есть большая проблема с SHOUTcast, который, я подозреваю, несет ответственность за то, что он не работает даже в Chrome, который должен поддерживать MP3.

SHOUTcast может служить три различных типа ответа:

  • родной-SHOUTcast" ледяной " протокол потокового аудио ответ. Он решает сделать это, если игрок, обращающийся к потоку, включает .

  • простой-HTTP потокового аудио ответ, без дополнительных метаданных, для медиаплееров без ледяной поддержки.

  • страница" Shoutcast D. N. A. S. Status " и другие страницы в веб-интерфейсе.

как он решает, следует ли обслуживать веб-страницу вместо аудиопотока? Он угадывает, используете ли вы веб-браузер. Глядя, чтобы увидеть, является ли User-Agent заголовок начинается с Mozilla/.... Потому что все веб-браузеры Mozilla, верно? Господи, Пренадлежат.

поэтому, когда Chrome пытается получить аудиопоток чтобы играть, SHOUTcast думает, что это веб-браузер (ну... это) и отказывается дать ему аудиопоток, чтобы поместить в звуковой тег. Вместо этого он получает веб-страницу администратора.

(Я бы предположил, что Safari передает icy-metadata заголовок, чтобы избежать проблемы, имея конкретную поддержку SHOUTcast. Я не могу проверить его на данный момент, так как Safari не будет воспроизводить аудио или видео. Может быть, он хочет, чтобы я установил QuickTime для этого. Может быть, его можно набить.)

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


<audio src="http://85.25.108.20:8090/;" controls autoplay></audio>

Это должно работать нормально, но убедитесь, что /; есть после URL и порта потока. Если вам не нужен автозапуск, удалить "автозапуск" тег.


да. Но его единственная работа в Safari

    <!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>

причина Opera и Firefox не поддерживали несвободные кодеки



при перенаправлении проблем с <audio> тег в браузерах попробуйте добавить "/ stream " в конце URL-адреса потока для предотвращения перенаправления.

пример:

не работает: http://live-radio01.xxxxxx.com/2TJW/mp3

рабочая: http://live-radio01.xxxxxx.com/2TJW/mp3/stream