如何将 bufferSource 连接到 Tone 的 Destination

问题描述 投票:0回答:1

使用常规 WebAudio,我可以将 bufferSource 连接到目的地,如下所示:

const audioCtx = new AudioContext()
const bufferSource = audioCtx.createBufferSource()
bufferSource.connect(audioCtx.destination)

我以为我可以用 Tone.js 做同样的事情,但是这个:

const audioCtxTone = Tone.context
const bufferSource = audioCtxTone.createBufferSource()
bufferSource.connect(audioCtxTone.destination)

给出错误Destination”类型的参数不可分配给“AudioNode”类型的参数。

我在这里做/想错了什么?

typescript web-audio-api tonejs
1个回答
0
投票

我无法准确解释为什么你的代码不起作用。 Tone.js 使用标准化音频上下文,它提供了 Web 音频 API 的包装器,使其在不同浏览器之间更加兼容。 Tone.js 在标准化音频上下文之上有自己的非常薄的包装器。我认为一路上出了什么问题。

但是如果您使用

context
AudioBufferSourceNode
属性来代替,它应该可以工作。它应该指向右侧
AudioContext

const audioContext = Tone.context;
const audioBufferSourceNode = audioContext.createBufferSource();

audioBufferSourceNode.connect(audioBufferSourceNode.context.destination);
© www.soinside.com 2019 - 2024. All rights reserved.