javascript - 在网络音频中播放原始音频 PCM 样本

标签 javascript audio buffer web-audio-api arraybuffer

我有一组声音样本(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/

相关文章:

javascript对象属性查找

c++ - 如何用音频数据填充 AVFrame

java 8 - 循环缓冲区

ios 音频队列 - 如何测量缓冲区中的音频电平?

javascript - Chrome 丰富通知 - 如何使用

javascript - 在 onclick 事件的 javascript 函数中传递一个对象

audio - WAV/RIFF-文件头中的文件大小错误?

html - 从 HTML 音频标签流式传输而不是缓冲文件

c# - 实例数据管理

javascript - TweenMax GSAP 没有动画,只能在 codepen 中使用?