在Web Audio中播放原始音频PCM样本

时间:2014-08-18 20:43:21

标签: javascript audio buffer web-audio arraybuffer

我有一个声音样本数组(16位):

[0, 120, 320, 120, 0, -100, -30000, 65, 2, 3, 10, ...]

它们的范围是-32768到32767.我希望能够使用Web Audio API播放示例。

我知道它希望源缓冲区为ArrayBuffer,但我无法弄清楚如何将一堆样本转换为ArrayBuffer以使用Web Audio API播放

任何提示?

1 个答案:

答案 0 :(得分:4)

创建一个新的AudioContext,使用CreateBuffer创建一个正确长度和数量的通道的AudioBuffer,然后使用getChannelData访问这些位 - 然后运行一个循环,为每个样本设置bufferData [i] =(original_data [i] / 32768);