аудиокодек html5

Я использую аудиотег html5 и не могу найти, что указать для кодека как для mp3, так и для wav.

Я знаю, что ogg это:

<audio>
<source type='audio/ogg; codec="vorbis"' />
</audio>

Кто-нибудь знает, что бы я написал для mp3 и wav?


person keith    schedule 29.07.2010    source источник


Ответы (3)


Лучший справочник по <source type=""> ключевым словам не Реестр типов носителей IANA, как вы могли подумать, но разработчик Статья .mozilla.org "Медиаформаты для HTML аудио и видео", в которой документировано то, что на самом деле реализуют браузеры (не только Firefox), а не то, что, согласно RFC, должно происходить. (Например, для файлов .WAV не существует официального типа MIME.)

Для форматов аудиоконтейнеров, которые вы упомянули, это мои рекомендуемые теги source:

  • Огг: <source type="audio/ogg">
  • MP3: <source type="audio/mpeg">
  • WAV: <source type="audio/wav"> (досадно, что audio/wave одновременно является «предпочтительным» и «не работает с Chrome», большое спасибо Google).

Я рекомендую вам не указывать, какой именно кодек вы используете, потому что это встраивает детали, которые могут измениться в HTML. Браузер разберется. (На самом деле, весь этот беспорядок должен был быть обработан с помощью общего URL-адреса непосредственно в теге audio и заголовка Accept: в HTTP-запросе, но меня никто не слушает.)

person zwol    schedule 29.07.2010
comment
Если вы не укажете кодек, браузер немного откроет файл, чтобы посмотреть, сможет ли он его воспроизвести. Это преимущество добавления значений кодека. Я хотел бы попробовать разобраться в этом. - person keith; 29.07.2010
comment
@keith, я не уверен, что это правильно. Я знаю, что Firefox достаточно умен, чтобы пропускать файлы только на основе MIME-типа. - person karnage; 01.10.2011
comment
@Brad Педантично, для WAV нет официальной регистрации типа носителя, поэтому ничего не верно. Согласно документации, которую я читаю, audio/wave предпочтительнее, но также не работает с Chrome, что звучит так, как будто некоторых людей нужно запирать в комнате, пока они не придут к соглашению. И представить официальную регистрацию типа СМИ. - person zwol; 25.04.2019
comment
@zwol Да, стандарты были бы хороши. :-) Я просто счастлив, что файлы WAV вообще работают! Раньше мне приходилось декодировать их в JavaScript и запускать через Web Audio API ScriptProcessorNode. - person Brad; 25.04.2019

какой браузер вы используете для воспроизведения mp3 файла? пока не все браузеры поддерживают воспроизведение mp3 через тег audio. см.: http://dev.opera.com/articles/view/html5-audio-radio-player/ Предлагаю написать скрипт, который выбирает тип звука в зависимости от типа браузера. Таким образом, у пользователя всегда есть играющая музыка.

person OhBugger    schedule 29.07.2010
comment
В этом смысл предоставления нескольких источников и сообщения браузеру, какой кодек они представляют. Браузер сам выбирает тот, который он поддерживает. Вам не нужно делать это для этого. - person TRiG; 14.10.2010

Ваш синтаксис для Vorbis в Ogg близок к правильному, только обязательно используйте codecs во множественном числе:

audio/ogg; codecs=vorbis

Браузеры не поддерживают PCM и MP3 в формате Ogg. Но PCM поддерживается в WAV, и для этого вы должны использовать:

audio/wav; codecs=1

(Информацию о константах 1, WAVE_FORMAT_PCM см. в приложении A к RFC2361.)

Для обычного звука MPEG Layer 3 нет реального контейнера, кроме самого битового потока, поэтому просто используйте:

audio/mpeg

Наконец, как уже упоминалось, вам не нужно явно указывать кодеки. Достаточно указать тип файла. Но если вы уже знаете кодеки, полезно указать их для эффективной загрузки и меньшего количества попыток.

person Brad    schedule 25.04.2019