【发布时间】:2021-01-08 22:24:47
【问题描述】:
我正在将 Tone JS 用于一个项目,并且我正在使用 Transport.scheduleOnce 通过 Sampler 安排事件。这是我到目前为止所拥有的,也是其中的fiddle(您可能需要单击运行几次才能听到最初加载小提琴时的音频)
我的代码:
const sound = 'https://archive.org/download/testmp3testfile/mpthreetest.mp3';
let samplerBuffer;
const sampler = new Promise((resolve, reject) => {
samplerBuffer = new Tone.Sampler(
{
A1: sound
},
{
onload: () => {
resolve()
}}
).toMaster();
})
sampler.then(() => {
Tone.Transport.scheduleOnce(() => {
samplerBuffer.triggerAttack(`A1`, `0:0`)
});
Tone.Transport.start();
setTimeout(() => {
console.log('Now should be stopping');
Tone.Transport.stop();
},1000)
})
我正在尝试使用Transport.stop() 方法在 1 秒后停止播放音频,但它似乎不起作用。我想我已经按照我应该的方式遵循了文档,所以我哪里出错了?
【问题讨论】:
标签: javascript web-audio-api tone.js