Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在源节点上调用stop()是否会触发结束事件?_Javascript_Web Audio Api - Fatal编程技术网

Javascript 在源节点上调用stop()是否会触发结束事件?

Javascript 在源节点上调用stop()是否会触发结束事件?,javascript,web-audio-api,Javascript,Web Audio Api,根据web音频API规范 我可以指定一个事件处理程序,该处理程序在源节点完成播放时运行(源节点的onended属性)。但是,如果在音频源节点上调用stop(0),是否会触发该事件?规格似乎不太清楚 我可以在各种浏览器上试用,但我想知道这方面的标准行为。当源节点主动停止时,end事件是否触发?或者,结束事件是否仅在音频播放结束时触发?事件处理程序类型的onended 用于为分派到AudioBufferSourceNode节点类型的结束事件设置EventHandler(在HTML[HTML]中描述

根据web音频API规范

我可以指定一个事件处理程序,该处理程序在源节点完成播放时运行(源节点的
onended
属性)。但是,如果在音频源节点上调用
stop(0)
,是否会触发该事件?规格似乎不太清楚


我可以在各种浏览器上试用,但我想知道这方面的标准行为。当源节点主动停止时,
end
事件是否触发?或者,
结束
事件是否仅在音频播放结束时触发?

事件处理程序类型的onended

用于为分派到AudioBufferSourceNode节点类型的结束事件设置EventHandler(在HTML[HTML]中描述)的属性当AudioBufferSourceNode的缓冲区播放完成时,类型为event(在HTML[HTML]中描述)的事件将被发送到事件处理程序

它声明它在音频数据结束时或停止时触发

这些台词让我感到困惑:

    void start (optional double when = 0, optional double offset = 0, optional double duration);
    void stop (optional double when = 0);
            attribute EventHandler onended;

是的<当音频播放完毕或调用了
stop()
时,将触发code>onended事件

来自

var audioCtx=new(window.AudioContext | | window.webkitadiocontext)();
var button=document.querySelector('button');
var stop=document.querySelector('#stop');
var源;
//立体声
var通道=2;
//在顶部创建一个空的两秒立体声缓冲区
//音频上下文的采样率
var frameCount=audioCtx.sampleRate*2.0;
var myArrayBuffer=audioCtx.createBuffer(2,frameCount,audioCtx.sampleRate);
button.onclick=函数(){
//用白噪声填充缓冲器;
//只是-1.0和1.0之间的随机值
用于(var通道=0;通道<通道;通道++){
//这将为我们提供包含数据的实际ArrayBuffer
var nowBuffering=myArrayBuffer.getChannelData(通道);
对于(变量i=0;i
AudioBuffer示例
制造白噪音
停止()