Ответ 1
Вы не можете сделать это с помощью ShoutCast, но с помощью Icecast и edcast-клиента вы можете транслировать live vorbis через тег HTML5 <audio>
. Просто укажите http://your-url.com:port/stream.ogg: p
Можно ли воспроизводить потоки интернет-радио (или некоторые) интернет-радио с помощью html5?
Итак, у меня есть следующий код:
<html>
<body>
<audio src="http://shoutcast.internet-radio.org.uk:10272/" />
</body>
</html>
Я сохраняю его как HTML-страницу и запускаю свой браузер (Google chrome 4.0.249.78, safary или FF)
Но он не играет/не работает! (
И он не воспроизводится ни с каким другим интернет-радио, которое я пытался играть! (
Почему!?! Что я делаю неправильно?
btw: from HTML5 (включая дополнения следующего поколения, все еще находящиеся в разработке) 2.6.1. Протокольные решения Пользовательские агенты могут реализовать множество протоколов передачи, но эта спецификация в основном определяет поведение с точки зрения HTTP. [HTTP]
Метод HTTP GET эквивалентен действию поиска по умолчанию для протокола по умолчанию. Например, RETR в FTP. Такие действия являются идемпотентными и безопасными в терминах HTTP.
Коды ответов HTTP эквивалентны статусам в других протоколах, которые имеют одинаковые базовые значения. Например, ошибка "файл не найден" эквивалентна 404-коду, ошибка сервера эквивалентна 5xx -коду и т.д.
Заголовки HTTP эквивалентны полям в других протоколах, которые имеют одинаковое базовое значение. Например, заголовки HTTP-аутентификации эквивалентны аспектам аутентификации протокола FTP.
Вы не можете сделать это с помощью ShoutCast, но с помощью Icecast и edcast-клиента вы можете транслировать live vorbis через тег HTML5 <audio>
. Просто укажите http://your-url.com:port/stream.ogg: p
Добавьте точку с запятой в конец запроса http
. Это протокол, установленный криком, чтобы переопределить его обнаружение браузера. Как этот пример:
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
HTML5 не определяет, какие аудиоформаты (будь то прогрессивные или потоковые), которые должен поддерживать плеер. Это для браузера, чтобы определить, основываясь на спросе и осуществимости. В предыдущих проектах мы пытались указать несколько базовых кодеков и форматов, которые должны поддерживаться всеми браузерами, но каждый из возможных форматов заставлял некоторых поставщиков браузеров отказаться от его реализации.
В Safari (4.0.4, WebKit ночной 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. Это может также привести к некоторым странным ошибкам, так как реализация QuickTime HTTP, ну, причудливый, чтобы выразить это любезно.
Я предлагаю подать ошибки, запрашивающие поддержку Shoutcast в браузерах, которые ее не поддерживают. Вот трекеры ошибок для Firefox (Gecko/Mozilla), Chrome (Chromium) и Safari (если это не работает на Windows или что-то в этом роде).
Я проверил станции ogg_vorbis. Я загрузил некоторый плейлист и открыл его в блокноте, и скопировал URL-адрес потока. Поэтому, если вы хотите протестировать его, просто скопируйте его в пустой файл и назовите его something.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, Sad, о том же нельзя сказать о 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 alpha, FF 3.5 и более поздних версиях, поддерживаются только PCM wav и Ogg Vorbis для аудио). Однако я считаю, что Chrome и Safari поддерживают MP3.
Следующая проблема заключается в том, что ваш URL-адрес указывает на веб-страницу, описывающую поток, а не на поток.
Наконец, насколько мне известно, никто не реализовал парсер плей-листа для аудио-элемента (в спецификации упоминаются только аудиофайлы, а не плейлисты), что является проблемой здесь, так как даже когда вы нажимаете "слушать", вы получаете плейлист, а не сырой поток.