Можно ли воспроизводить потоки интернет-радио с помощью html5?
-
19-09-2019 - |
Вопрос
Можно ли воспроизводить потоки интернет-радио (или некоторых других) с помощью html5?
Итак, у меня есть следующий код:
<html>
<body>
<audio src="http://shoutcast.internet-radio.org.uk:10272/" />
</body>
</html>
Я сохраняю его как HTML-страницу и запускаю браузер (Google Chrome 4.0.249.78, Safari или FF).
Но он не играет/работает!(
И оно не воспроизводится ни с одним другим интернет-радио, которое я пытался воспроизвести!(
Почему!?!Что я делаю не так?
кстати:от HTML5 (включая дополнения следующего поколения, все еще находящиеся в разработке) 2.6.1 Концепции протоколаПользовательские агенты могут реализовывать различные протоколы передачи, но эта спецификация в основном определяет поведение с точки зрения HTTP.[HTTP]
Метод HTTP GET эквивалентен действию протокола по извлечению по умолчанию.Например, RETR в FTP.Такие действия идемпотентны и безопасны в терминах HTTP.
Коды ответов HTTP эквивалентны статусам в других протоколах, имеющих то же основное значение.Например, ошибка «файл не найден» эквивалентна коду 404, ошибка сервера эквивалентна коду 5xx и так далее.
Заголовки HTTP эквивалентны полям в других протоколах, которые имеют то же основное значение.Например, заголовки аутентификации HTTP эквивалентны аспектам аутентификации протокола FTP.
Решение
Вы не можете сделать это с помощью ShoutCast, но с помощью Icecast и клиента edcast вы можете транслировать живую трансляцию vorbis через HTML5. <audio>
ярлык.Просто укажите на это http://your-url.com:port/stream.ogg :п
Другие советы
Добавьте точку с запятой в конце http
запрос.Это протокол, установленный Shoutcast для отмены обнаружения браузера.Как в этом примере:
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
HTML5 не определяет, какие аудиоформаты (прогрессивные или потоковые) должен поддерживать проигрыватель.Это должен определить браузер в зависимости от спроса и возможности реализации.В более ранних проектах мы пытались указать несколько базовых кодеков и форматов, которые должны поддерживать все браузеры, но каждый из возможных форматов приводил к тому, что некоторые поставщики браузеров отказывались его реализовывать.
Похоже, что следующее работает в Safari (4.0.4, WebKit nightly 6531.21.10, r54538, Mac OS X 10.6.2), но не в Chrome или Firefox:
<!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>
(Обратите внимание, что <audio>
требуется конечный тег в сериализации HTML, он не может использовать самозакрывающийся тег в стиле XML, и мне нужно включить controls
или autoplay
чтобы действительно запустить звук)
Вероятно, это связано с тем, что Safari получает поддержку Shoutcast «бесплатно», поскольку он просто использует QuickTime для обработки любых предоставленных URL-адресов аудио и видео, а QuickTime уже поддерживает Shoutcast.Это также может привести к некоторым странным ошибкам, поскольку реализация HTTP в QuickTime, ну, причудливый, мягко говоря.
Я бы предложил сообщать об ошибках с просьбой о поддержке Shoutcast в браузерах, которые его не поддерживают.Вот трекеры ошибок для Firefox (Гекко/Mozilla), Хром (Хром), и Сафари (если вдруг не работает в Windows или что-то в этом роде).
ну, я проверил станции ogg_vorbis.Я скачал плейлист, открыл его в блокноте и скопировал URL-адрес потока.Так что, если вы хотите протестировать это, просто скопируйте это в пустой файл и назовите его что-нибудь.html.
<!DOCTYPE html>
<html>
<head>
<title>audio testing live stream!</title>
</head>
<body>
<audio controls="controls" autoplay="autoplay" src="http://oggvorbis.tb-stream.net:80/technobase.ogg">
</audio>
</body>
</html>
вот и все!
ББ
<!DOCTYPE html>
<audio controls src="http://baldyradio.com:8010/;"></audio>
Это работает в релизной версии IE9. К сожалению, этого нельзя сказать о FireFox 4!
чтение спецификации аудио HTML 5 (http://www.w3schools.com/html5/html5_audio.asp). W3C определяет, какие форматы (MP3 или OGG) поддерживаются какими браузерами.
Я бы сделал, чтобы сервер Icecast (не ShoutCast) транслировал потоки MP3 и OGG.
с помощью javascript определите тип браузера - http://www.javascripter.net/faq/browsern.htm
if (браузер не поддерживает HTML5) {распечатать сообщение - используйте новый браузер}
if (браузер поддерживает потоковую передачу HTML5 и OGG (используйте список из W3C)) {Используйте поток OGG с сервера ICECAST в теге SRC}
if (браузер поддерживает потоковую передачу HTML5 MP3 (использование списка из W3C)) {Использование потока mp3 с сервера ICECAST в теге SRC}
Я думаю, что это охватит все основные браузеры и решит большинство проблем народов, которые вы, вероятно, найдете в будущем, это будет излишним, поскольку больше браузеров поддерживает
<audio controls src="http://example.com:8000/mountpath;"></audio>
Сообщения выше дают правильный ответ, хотя в них не упоминается использование косая черта.Убеждаться /; находится после URL-адреса потока и порта.
<audio src="http://shoutcast.internet-radio.org.uk:10272/;" />
Ну, Firefox и Opera не поддерживают несвободные кодеки, такие как mp3 (как в случае с альфа-версией Opera 10.5, FF 3.5 и более поздние версии поддерживают только PCM wav и Ogg Vorbis для аудио).Однако я считаю, что Chrome и Safari поддерживают MP3.
Следующая проблема заключается в том, что ваш URL-адрес указывает на веб-страницу с описанием потока, а не на сам поток.
Наконец, насколько мне известно, никто не реализовал анализатор плейлиста для элемента audio (в спецификации упоминаются только аудиофайлы, а не плейлисты), что здесь является проблемой, поскольку даже когда вы нажимаете «прослушать», вы получаете скорее плейлист. чем сырой поток.
Да, вы можете играть в ShoutCast2. Я использую его вот так.
<audio preload="none" autoplay="autoplay" controls="controls">
<source src="http://178.32.62.172:9079/stream" type="audio/mpeg">
Your browser does not support this player, please update the version
</audio>