2

我使用 AudioContext() 类在 JavaScript 中制作了一个 audioCtx。我有一个使用 audioCtx.createAnalyser() 制作的分析器。如果我的音频是一个音频标签,并且我使用 audioCtx.createMediaElementSource(audio) 创建了一个源,则将其传递给分析器: source.connect(analyser); 这有效 - 我收到数据。我还可以使用 audioCtx.createMediaStreamSource(stream); 连接麦克风 等等

但是,如果我的源是 CreateJS AbstractSoundInstance 对象(称为输入),它具有返回 AudioBuffer 对象的播放资源属性(声音正在播放):

AudioBuffer { sampleRate:44100,长度:5961072,持续时间:135.1717006802721,numberOfChannels:2 }

我似乎无法连接这个。我努力了

var source = audioCtx.createBufferSource(input.playbackResource);

然后尝试使用 analyser.connect(audioCtx.destination); 连接目的地 但我无法获得任何数据。我似乎对 CreateJS 声音的唯一钩子是playbackResource - SoundJS 文档说:“例如,WebAudioPlugin 将设置一个数组缓冲区。”

关于如何将 AudioBuffer 传递给分析器的任何建议(Lanny?Grant?)谢谢!

4

0 回答 0