我如何用JS制作自定义波?

时间:2017-04-25 18:47:01

标签: javascript audio html5-audio

我已经创建了一个存储在数组中的wave:[0, 1, 3, 6, 50, 90, 255, 90, 50, 6, 3, 1, 0, 1, 3]等等。如何使用Web音频API将其转换为音频输出?

1 个答案:

答案 0 :(得分:2)

我建议你使用像RiffWave这样的库:https://gist.github.com/hackNightly/3776503 从数组中生成一个wav数据。

var wave = new RIFFWAVE();
wave.header.sampleRate = 8000;
wave.header.numChannels = 1;
wave.Make([0, 1, 3, 6, 50, 90, 255, 90, 50, 6, 3, 1, 0, 1, 3]);
var audioPlayback wave.dataURI;

然后,您可以创建HTML5音频元素并播放音频。

var audio1 = new Audio();
audio1.src = audioPlayback;
audio1.play();

wave.dataURI是一个base64编码的数据URI,你可以像这样分配给audio元素的src属性。