【问题标题】:Web Audio API, events?网络音频 API,事件?
【发布时间】:2016-07-15 23:20:29
【问题描述】:

是否可以将事件侦听器添加到网络音频 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);

【问题讨论】:

    标签: javascript web-audio-api


    【解决方案1】:
    var isFinished = false;
    var source = context.createBufferSource();
    source.onended = onEnded;
    function onEnded() {
        isFinished = true;
        console.log('playback finished');
    }
    

    Check this out

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-10
          • 1970-01-01
          • 2012-02-06
          • 1970-01-01
          相关资源
          最近更新 更多