Действительно ли возможно играть shoutcast (или некоторые) интернет-потоки радио с html5?
Таким образом, у меня есть следующий код:
Я сохраняю его как страницу HTML и запускаю мой браузер (Google Chrome 4.0.249.78, сафари или FF)
Но это не играет/работает! (
И это не играет ни с каким другим интернет-радио, которое я пытался играть! (
Почему!?! Что я делаю неправильно?
btw: от HTML5 (включая дополнения следующего поколения все еще в разработке) 2.6.1 Агентов пользователя понятий Протокола могут реализовать множество протоколов передачи, но эта спецификация главным образом определяет поведение с точки зрения HTTP. [HTTP]
HTTP ДОБИРАЕТСЯ, метод эквивалентен действию извлечения по умолчанию протокола. Например, RETR в FTP. Такие действия являются идемпотентом и безопасный в терминах HTTP.
Коды ответа HTTP эквивалентны состояниям в других протоколах, которые имеют те же основные значения. Например, "файл, не найденный" ошибка, эквивалентен 404 кодам, ошибка сервера эквивалентна 5xx код и так далее.
HTTP-заголовки эквивалентны полям в других протоколах, которые имеют то же основное значение. Например, заголовки Аутентификации HTTP эквивалентны аспектам аутентификации протокола FTP.
Вы не можете сделать это с помощью ShoutCast, но с помощью Icecast и клиента edcast вы можете транслировать прямые трансляции ворбисов через тег HTML5
. Просто укажите его на http://your-url.com:port/stream.ogg : p
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>
(обратите внимание, что
требует конечного тега в сериализации HTML, он не может использовать самозакрывающийся тег в стиле XML, и мне нужно включить элементы управления
или автозапуск
, чтобы фактически запустить audio)
Вероятно, это связано с тем, что Safari получает поддержку Shoutcast «бесплатно», потому что он просто использует QuickTime для обработки любых предоставленных URL-адресов аудио и видео, а QuickTime уже поддерживает Shoutcast. Это также может привести к некоторым странным ошибкам, поскольку реализация QuickTime HTTP, мягко говоря, причудливая .
Я бы посоветовал сообщать об ошибках с просьбой о поддержке Shoutcast в браузерах, которые ее не поддерживают. Вот средства отслеживания ошибок для Firefox (Gecko / Mozilla) , Chrome (Chromium) и Safari (если это не работает в Windows или что-то еще как это).
Как насчет
return i > j? (i > k? i: k): (j > k? j: k);
двух сравнений, без использования временных временных переменных стека...
-121--3506949- Метод доступа attr _
можно использовать для создания виртуального атрибута и установки этого атрибута как части действия создания.
Ну, Firefox и Opera не поддерживают кодеки non-Free, такие как mp3 (как в Opera 10.5 alpha, FF 3.5 и более поздние поддерживают только PCM wav и Ogg Vorbis для аудио). Однако я считаю, что Chrome и Safari поддерживают MP3.
Следующая проблема заключается в том, что URL-адрес указывает на веб-страницу, описывающую поток, а не на поток.
Наконец, насколько мне известно, никто не внедрил анализатор списков воспроизведения для аудиоэлемента (в спецификации упоминаются только аудиофайлы, а не списки воспроизведения), что является проблемой здесь, так как даже при нажатии кнопки «слушать» вы получаете список воспроизведения, а не необработанный поток.
Добавьте точку с запятой в конец http
запроса. Это протокол, установленный shoutcast для обхода обнаружения браузера. Как в этом примере:
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>