Chrome 中的 HTML5 音频噼啪声

Posted

技术标签:

【中文标题】Chrome 中的 HTML5 音频噼啪声【英文标题】:HTML5 audio crackle in Chrome 【发布时间】:2011-08-05 12:05:00 【问题描述】:

这是一个长镜头。

场景是这样的:我创建音频标签(使用 Audio(src) 构造函数)并在 Chrome 中重复播放声音。声音很短,不超过4秒。其中一些声音(但不是全部)会在声音中发出大约 400 毫秒的噼啪声(纯粹基于我的耳朵),而且并非每次播放这些受影响的声音时都会发出噼啪声。换句话说;有些声音有时会发出噼啪声,但并非总是如此。

所以,为了弄清楚为什么会这样,我在声音文件中插入了 300 毫秒的静音。不过,我仍然在同一个位置听到噼啪声(现在是 700 毫秒的声音)。随着搜索的进行,我在 300 毫秒的静音中插入了一个非常离散的嗡嗡声,以检查这是否会改变任何东西。它没有。所以我的结论是,爆裂声可能来自一定幅度的音频(因为爆裂声与实际声音保持在相同的位置)。

为了测试这一点,我创建了一个从绝对静音到全音量的正弦波,但我似乎无法让它破解。值得注意的是 A. 它在 IE9 中完美运行,任何文件都没有裂纹,所以这不是坏文件的情况 B. 似乎并非所有文件都受到此错误的影响(我认为这是一个)错误。

所以问题是:有人知道为什么会这样吗?有什么明显的我失踪了吗?

我希望我可以分享一些代码,但它都是专有的,我现在不被允许这样做。

编辑:实际上,我不确定噼啪声是否与实际声音保持在同一位置。我仍然会发出噼啪声,但它可能在稍微不同的地方。很抱歉这个模棱两可的帖子,我在过去的 5 个小时里听到了同样的声音:/。然而,裂纹仍然存在,这仍然是一个问题。

【问题讨论】:

如果你只是在Chrome中自己去crackle audio URL,它有问题吗?如果是这样,请尝试 Chrome 16 与 Chrome 17 dev 我在 .ogg 和 .mp3 文件、嵌入式和 URL 中也注意到了这一点。我禁用了所有插件以查看是否是这些插件导致了问题。它们(Quicktime、Flash、Dixv 等)似乎都没有引起它。 【参考方案1】:

我在 Chrome 中遇到了 WAV 文件的问题。我认为 javascript 引擎让他们窒息。当过程负担过重时,我使用音频定序器得到同样的噼啪声。我从 WAV 切换到 MP3,噼啪声停止了。

【讨论】:

【参考方案2】:

在运行 Mac OS X 10.7.3 的 2011 MacBook Air 上使用 Chrome 时,我也遇到了这个问题。因为在同一台电脑上用 Firefox 播放文件时没有噼啪声,似乎是 Chrome 的 bug。

事实证明这是真的。当 Chrome 自动更新到 17.0.963.56 版本时,crackle 问题得到修复:-)

在我看来,html5 音频仍然是一个相对较新的野兽。例如,只有最新版本的移动浏览器才真正支持它。去年一些移动浏览器说他们支持它,但实际上没有!

但情况正在好转。现在,至少我可以在 Mac OS X 和 android 上使用最新版本的 Firefox 和 Chrome 播放音频文件了。但是,播放很少完美无缺(缓慢、跳跃、噼啪声或停止播放)。我希望这些问题会随着每次浏览器更新而消退。

【讨论】:

我的音频爆裂声/爆裂声是特定于浏览器的。我正在为 iPad 开发。我在 Chrome 中听到了一堆噼啪声。我看了这条评论,切换到 Safari,再也没有噼啪声了。

以上是关于Chrome 中的 HTML5 音频噼啪声的主要内容,如果未能解决你的问题,请参考以下文章

Chrome/PC 中的 HTML5 视频

chrome 扩展:如何将某个选项卡中的所有音频静音

暂停视频不会停止 html5 视频标签中的音频

chrome背景选项卡中的自动播放声音

AUGraph 3D Mixer 噼啪声

html5音频无法在chrome中播放