5

所以我在 Chrome 中播放音频文件,我想检测播放何时结束,以便删除对它的引用。这是我的代码

var source = context.createBufferSource();
source.buffer = sound.buffer;
source.loop = sound.loop;
source.onended = function() { 
    delete playingSounds[soundName];
}
source.connect(mainNode);
source.start(0, sound.start, sound.length);

但是,事件处理程序不会触发。如W3 规范所述,这还不支持吗?还是我做错了什么?

4

2 回答 2

1

这个功能在 Chromium 中仍然存在问题,https://code.google.com/p/chromium/issues/detail? id=349543 。作为一个明显但并不总是合适的解决方法,我建议为音频的持续时间设置一个计时器。

于 2014-06-04T14:47:23.040 回答
1

Chromium 最近才添加了这个(我想是 5 月底)。很确定它还没有在稳定版本中。

您是否在 Chrome Canary 中尝试过?

于 2013-07-01T14:56:49.620 回答