2

首先,我很抱歉,因为我基本上是使用音频的新手。

我目前使用的 Web 应用程序是使用 asp.net/vb.net 设计的,它允许用户使用 Nanogong 小程序 ( http://nanogong.ust.hk/doc_faq.html )录制和播放音频。我们正在转向 HTML5 音频,因为对 NPAPI 插件的支持已从大多数浏览器中移除(Firefox 除外,直到今年年底)。

Nanogong 使用 4-bit IMA ADPCM 编码 wav 文件。我可以使用 sox 将 Nanogong wav 文件转换为 16 位 PCM,然后使用该 wav 文件创建一个使用 oggenc2 的 ogg 版本和一个使用 lame 的 mp3 版本。我们需要 Firefox 和 Chrome 的 ogg 文件,以及 Safari 的 mp3。

我想了解的是为什么浏览器似乎无法播放 4 位 IMA ADPCM 格式?他们只能播放 8 位或 16 位的 PCM 格式吗?在 Firefox 中,firebug 指示 IMA ADPCM wav 文件无法解码;Chrome 和 Opera 在开发者控制台中没有提及任何内容,但我猜它与 Firefox 相同,因为该文件不会在这些浏览器中播放。

我试过在网上搜索,但似乎没有太多关于 HTML5 音频的信息,或者其中大部分似乎是较旧的信息。我还看到更多关于从 PCM 转换为 ADPCM 的文章。

任何指导或资源将不胜感激。谢谢!!

4

1 回答 1

3

浏览器供应商不需要支持任何特定的音频格式。存在许可等问题,尽管在这种情况下可能不太相关,这使得供应商只支持最基本的(如未压缩的 PCM)和常见的格式(MP3、OGG 等),并且在某些情况下会依赖于底层系统来解码音频(或视频)。相对于增益的代码库大小可能是另一个因素。

截至今天,4 位 IMA ADPCM 将属于“不那么常​​见”的类别,这可能是为什么在浏览器中找不到支持的原因。

不过,可以通过使用音频 API(消除 IE)和二进制解析/解码手动支持格式来解决这个问题。我正在做的是我的audio-reader-js库,但目前我不支持 IMA 编码数据。它也可以用作实现对此的支持的基础。

于 2016-04-26T23:56:00.307 回答