首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Web Audio API、事件?

Web Audio API、事件?
EN

Stack Overflow用户
提问于 2012-11-29 08:51:57
回答 3查看 8.1K关注 0票数 13

是否可以将事件侦听器添加到web音频api声音?我一直在寻找当声音结束时的事件或触发器,但找不到任何东西。下面是我设想的工作原理:

代码语言:javascript
运行
复制
soundSource = context.createBufferSource();
soundBuffer = context.createBuffer(audioData, true);
soundSource.buffer = soundBuffer;
soundSource.connect(volumeNode);
soundSource.addEventListener('ended', function(e){
    console.log("ended", "", e);
}, false);
soundSource.noteOn(context.currentTime);
EN

回答 3

Stack Overflow用户

发布于 2014-01-17 07:48:51

代码语言:javascript
运行
复制
var isFinished = false;
var source = context.createBufferSource();
source.onended = onEnded;
function onEnded() {
    isFinished = true;
    console.log('playback finished');
}

Check this out

票数 12
EN

Stack Overflow用户

发布于 2012-11-29 19:30:59

不是今天不是。我知道有关于添加某种事件系统的讨论,但它还没有在规范中(如果它会出现的话)。但是,您可以签出缓冲源的playbackState属性:https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode

除此之外,最好的办法是根据缓冲区长度使用超时,并在触发时运行回调。

票数 5
EN

Stack Overflow用户

发布于 2016-07-15 23:20:29

是的,看起来像是添加了: AudioBufferSourceNode.onended https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/onended

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13617047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档