我使用AudioContext()类在JavaScript中创建了一个audioCtx。我有一个用audioCtx.createAnalyser()制作的分析器。如果我的音频是音频标签,我使用audioCtx.createMediaElementSource(音频)创建一个源,然后将其传递给分析器:source.connect(analyzer);这工作 - 我收到数据。我还可以使用audioCtx.createMediaStreamSource(stream)连接麦克风;等。
但是,如果我的源是CreateJS AbstractSoundInstance对象(称为输入),它具有一个返回AudioBuffer对象的playbackResource属性(正在播放的声音):
AudioBuffer {sampleRate:44100,length:5961072,持续时间: 135.1717006802721,numberOfChannels:2}
我似乎无法连接它。我试过了
var source = audioCtx.createBufferSource(input.playbackResource);
然后尝试将目标与analyser.connect连接(audioCtx.destination);但我无法得到任何数据。我似乎在CreateJS声音中唯一的钩子是playbackResource - SoundJS文档说:“例如,WebAudioPlugin将设置一个数组缓冲区。”
有关如何将AudioBuffer传递给分析器的任何建议(Lanny?Grant?)谢谢!