我有一个声音样本数组(16位):
[0, 120, 320, 120, 0, -100, -30000, 65, 2, 3, 10, ...]
它们的范围是-32768到32767.我希望能够使用Web Audio API播放示例。
我知道它希望源缓冲区为ArrayBuffer
,但我无法弄清楚如何将一堆样本转换为ArrayBuffer
以使用Web Audio API播放
任何提示?
答案 0 :(得分:4)
创建一个新的AudioContext,使用CreateBuffer创建一个正确长度和数量的通道的AudioBuffer,然后使用getChannelData访问这些位 - 然后运行一个循环,为每个样本设置bufferData [i] =(original_data [i] / 32768);