簡體   English   中英

Web Audio API,活動?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM