gpt4 book ai didi

javascript - AudioContext .end 未正确触发

转载 作者:行者123 更新时间:2023-11-28 17:47:18 30 4
gpt4 key购买 nike

我有一个简单的例程,它创建一个音频上下文节点并使用缓冲区加载它。 onending 事件似乎在一开始就触发。我设置了一个持续时间计时器,并且在音频停止播放之前,onend 事件会在这段时间内触发。任何人都知道如何获得真正的持续事件。我尝试使用目的地和源,相同的结果

function playSoundFile(buffer) {
'use strict';
audioCtx.close();
audioCtx = new (window.AudioContext || window.webkitAudioContext)();
audioSource = audioCtx.createBufferSource();
audioSource.connect(audioCtx.destination);
audioSource.buffer = buffer;
audioSource.playbackRate.value = 1;
stillPlaying(true);
audio_player = audioCtx.destination;
audioSource.addEventListener('onended', whatsUp());
console.log('start ' + showTime());
filePlayed(buffer.duration);
audioSource.start();
}

播放事件和已结束事件之间的时间戳仅相差 1 毫秒。filePlayed 启动一个超时事件来显示开始和结束的时间。

最佳答案

好吧,guest271314 说得基本正确。

文档很困惑。事件监听器是“结束”而不是“结束”,您必须使用带参数的函数名称

所以

audioSource.addEventListener('ended', whatsup);

解决这个问题。谢谢。

关于javascript - AudioContext .end 未正确触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46384562/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com