2016-04-26 3 views
2

Во-первых, я приношу свои извинения, поскольку я принципиально новичок в работе со звуком.HTML5 аудио Браузеры не могут декодировать wav-файл, закодированный IMA ADPCM

Веб-приложение, в настоящее время работающее с использованием asp.net/vb.net, позволяет пользователям записывать и воспроизводить аудио с помощью апплета Nanogong (http://nanogong.ust.hk/doc_faq.html). Мы переходим к HTML5 аудио, так как поддержка плагина NPAPI была удалена из большинства браузеров (кроме Firefox до конца этого года).

Nanogong использует 4-разрядный IMA ADPCM для кодирования wav-файлов. Я могу преобразовать Wav-файл Nanogong в 16-битный PCM с помощью sox, а затем используя этот wav-файл, создайте ogg-версию, используя oggenc2 и версию mp3, используя lame. Нам нужны файлы ogg для Firefox и Chrome, а также mp3 для Safari.

Что я хотел бы узнать, почему браузеры, похоже, не могут играть в 4-битный формат IMA ADPCM? Могут ли они играть только в формате PCM в 8-битном или 16-битном? В Firefox firebug указывает, что WAV-файл IMA ADPCM не может быть декодирован; Chrome и Opera ничего не упоминают в консоли разработчика, но я предполагаю, что это то же самое, что Firefox, поскольку файл не будет воспроизводиться в этих браузерах.

Я пробовал искать в Интернете, но, похоже, не много что касается аудио HTML5, или большинство из них, похоже, более старая информация. Я также вижу больше статей о преобразовании из PCM в ADPCM.

Любые указания или ресурсы были бы весьма признательны. Благодаря!!

ответ

2

Поставщикам браузеров не требуется поддерживать какой-либо конкретный аудиоформат. Существуют такие проблемы, как лицензирование, хотя, возможно, и в этом случае это не так важно, что позволяет поставщикам поддерживать только самые основные (например, несжатые PCM) и общие форматы (MP3, OGG и т. Д.), А в некоторых случаях будет полагаться на основные система для декодирования аудио (или видео). Размер базы кода относительно коэффициента усиления может быть еще одним фактором.

4-разрядный IMA ADPCM попадает в категорию «не так часто» на сегодняшний день, что вполне вероятно, почему нет поддержки для поиска в браузерах.

Это возможно обойти это, поддерживая формат вручную с помощью Audio API (который исключает IE) и двоичного разбора/декодирования. Я делаю это моя audio-reader-js библиотека, но в настоящее время у меня нет поддержки IMA-кодированных данных. Его можно использовать в качестве основы, хотя и для поддержки этого.

+0

Благодарим за внимание! Мне было интересно, был ли этот формат менее распространенным, но быть новым для большей части этого не было. Я обязательно посмотрю на вашу библиотеку, которую вы упомянули. :) – AmyW