所以我在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 specification所描述的尚不支持吗?或者我做错了什么?
答案 0 :(得分:1)
Chromium最近才添加了这个(我认为是5月底)。很确定它还没有出现在稳定版本中。
你有没有在Chrome Canary中尝试过?
答案 1 :(得分:1)
此功能在Chromium https://code.google.com/p/chromium/issues/detail?id=349543中仍然存在问题。作为一个显而易见但并不总是合适的解决方法,我建议在音频持续时间内设置一个计时器。