我有一组声音样本(16 位):
[0, 120, 320, 120, 0, -100, -30000, 65, 2, 3, 10, ...]
它们的范围是 -32768 到 32767。我希望能够使用 Web Audio API 播放样本。
我知道它希望源缓冲区是一个 ArrayBuffer
,但我不太清楚如何将一堆样本转换为 ArrayBuffer
使用 Web Audio API 播放。
有什么建议吗?
最佳答案
创建一个新的 AudioContext,使用 CreateBuffer 创建一个具有正确长度和 channel 数的 AudioBuffer,然后使用 getChannelData 访问位 - 然后运行一个循环,为每个样本设置 bufferData[i] = (original_data [i]/32768);
关于javascript - 在网络音频中播放原始音频 PCM 样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25371713/