2010-04-30 4 views

ответ

46

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

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

+1 хорошее исправление, не знал об этом! – bobince

3

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

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

Причина Opera и Firefox не поддержки не бесплатно Кодеки

+0

Будет ли это работать на Chrome? –

18

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

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

  • уроженцем-SHOUTcast протокол «ICY» потоковое аудио отклик. Он решает сделать это, если игрок, получающий доступ к потоку, включает заголовок icy-metadata: 1.

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

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

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

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

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

Так что вам, вероятно, придется добавить Flash-плеер в качестве резервной.

+0

Очень интересно. – jayarjo

+0

благодарим вас за то, что вы не только говорите, что это не работает, но и объясняет почему! – leemes

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

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

+0

Я отредактировал вам сообщение немного, попробуйте использовать правильную грамматику, когда вы отправляете сообщение о переполнении стека. Кроме этого, хорошая работа! – Nathan2055