我正在使用RecordRTC(https://github.com/muaz-khan/RecordRTC)收听:在浏览器中录制用户Microphone;但我想同时绘制频谱(基于CSS)。
我不知道该怎么办;我发现了很多使用AudioContext API的示例,但是从RecordRTC只能得到一个Blob数据,而且我不知道如何将其转换为Uint8Array来使用它...
我所做的:
const audioContext = new AudioContext();
const analyserNode = audioContext.createAnalyser();
this.recorder = RecordRTC(microphone, {
type: 'audio',
mimeType: 'audio/wav',
recorderType: RecordRTC.StereoAudioRecorder,
desiredSampRate: 16000,
numberOfAudioChannels: 1,
audioBitsPerSecond: 256000,
disableLogs: true,
timeSlice: 100,
ondataavailable: (data) => {
data.arrayBuffer().then(buffer => {
const freq = analyserNode.getByteFrequencyData(new Uint8Array(buffer));
console.log(freq);
});
}
});
我的console.log每转一次返回“ undefined”:/
是否有一种方法可以每100毫秒从RecordRTC或Blob二进制文件中获取频谱(声音可视化)?
谢谢!