Можно ли воспроизводить поток shoutcast/icecast с помощью HTML5?
Если да, то как его реализовать?
Можно ли воспроизводить поток shoutcast/icecast с помощью HTML5?
Если да, то как его реализовать?
Добавьте точку с запятой в конец HTTP-запроса. Это протокол, установленный криком, чтобы переопределить его обнаружение браузера. Вот так:
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
Существует большая проблема с SHOUTcast, который, как я подозреваю, несет ответственность за то, что он не работает даже в Chrome, который должен поддерживать MP3.
SHOUTcast может обслуживать три разных типа ответа:
встроенный-SHOUTcast "ICY" протокол потокового аудио ответа. Он решает это сделать, если игрок, получающий доступ к потоку, включает заголовок icy-metadata: 1
.
простой ответ HTTP-потокового звука без дополнительных метаданных для медиаплееров без поддержки ICY.
страницу "SHOUTcast D.N.A.S. Status" и другие страницы в веб-интерфейсе.
Как он решает, следует ли обслуживать веб-страницу вместо аудиопотока? Он догадывается, используете ли вы веб-браузер. Посмотрев, начинается ли заголовок User-Agent
с Mozilla/...
. Потому что все веб-браузеры - это Mozilla, не так ли? Jeez, SHOUTcast.
Поэтому, когда Chrome пытается извлечь аудиопоток для воспроизведения, SHOUTcast считает его веб-браузером (ну... он есть) и отказывается дать ему аудиопоток, чтобы поместить в звуковой тег. Вместо этого он получает веб-страницу администратора.
(Я бы предположил, что Safari передает заголовок icy-metadata
, чтобы избежать проблемы, имея определенную поддержку SHOUTcast. Я не могу проверить это на данный момент, так как Safari не будет воспроизводить аудио или видео. Возможно, он хочет, чтобы я установите QuickTime для этого. Может быть, он может пойти набивать.)
Таким образом, вам, вероятно, придется добавить Flash-плеер в качестве резервной копии.
<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 не поддерживают не бесплатные кодеки
см. здесь: Можно ли воспроизводить потоки интернет-радиосигналов shoutcast с помощью html5?
При перенаправлении проблем с тегом <audio
> в браузерах попробуйте добавить "/stream" в конец URL-адреса потока для предотвращения перенаправления.
Пример:
не работает: http://live-radio01.xxxxxx.com/2TJW/mp3
рабочая: http://live-radio01.xxxxxx.com/2TJW/mp3/stream
#shoutcast #icecast #redirect # response302