16.1 Web Audio API(网页音频接口) 起步

在网站音频接口中,所有的音频操作都是通过一个专业术语叫“audio context”的来进行处理。每一个简单的音频操作都是通过把一个个音频结点串联在一起来形成一个音频布线图。在播放出声音前,你需要创建这个“audio context”。这个跟在CANVAS画布里面绘画前需要先创建一个"canvas context"很类似。

下面是如何创建一个"audio context"的方法:

var context = new (window.AudioContext || window.webkitAudioContext)();

Safari浏览器需要使用"webkit"前缀名来支持AudioContext, 所以你需要使用 new webkitAudioContext() 来替代 new AudioContext()

通常Web Audio API的工作流是这样的:

有三种类型的音频"源":

  • Oscillator (振荡器): 使用数学方法计算出来的声音
  • Audio Samples (音频样本): 从音频/视频文件中得到的
  • Audio Stream (音频流): 从摄像头或麦克风中得到的音频