[英]Web Audio API, events?
是否可以向Web audio api聲音添加事件監聽器? 我一直在尋找一個事件或觸發器,當聲音完成但找不到任何東西時。 這是我想象它會起作用:
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);
var isFinished = false;
var source = context.createBufferSource();
source.onended = onEnded;
function onEnded() {
isFinished = true;
console.log('playback finished');
}
不是今天,不是。 我知道有關於添加某種事件系統的討論,但它還沒有在規范中(如果有的話)。 但是,您可以查看緩沖區源上的playbackState屬性: https : //dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode
除此之外,最好的辦法是根據緩沖區長度使用超時,並在觸發時運行回調。
是的,看起來已被添加:AudioBufferSourceNode.onended https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/onended
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.