Chrome中的HTML5音频爆裂

时间:2011-08-05 12:05:01

标签: audio html5-audio

这是一个很长的镜头。

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

所以,要找出为什么我在声音文件中插入了300ms的静音。我仍然在同一个位置(现在声音是700毫秒)发出噼啪声。随着搜索的继续,我在300毫秒的沉默中插入了一个非常独立的嗡嗡声来检查是否会改变任何东西。它没有。因此,我的结论是,可能是音质处于一定振幅(因为噼啪声与实际声音保持在同一位置),因此可能是噼啪声。

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

所以问题是:有没有人有任何理论为什么会这样?有什么明显我想念的吗?

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

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

2 个答案:

答案 0 :(得分:5)

我在Chrome中遇到了WAV文件的这个问题。我认为javascript引擎正在窒息它们。当过程过载时,我使用音频序列发生器获得相同的噼啪声。我从WAV切换到MP3,噼啪声停止了。

答案 1 :(得分:0)

在运行Mac OS X 10.7.3的2011 MacBook Air上使用Chrome时,我也遇到了这个问题。因为在同一台计算机上在Firefox中播放文件时没有噼啪声,所以它似乎是一个Chrome错误。

事实证明这是真的。当Chrome自动更新到版本17.0.963.56时,噼啪声问题得到了解决:-)

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

但事情正在改善。现在,至少我可以在Mac OS X和Android上的最新版Firefox和Chrome中播放音频文件。但是,播放很少完美(慢,跳,噼啪声或停止播放)。我希望每次浏览器更新都能解决这些问题。