音頻 API

From HTML5 Chinese Interest Group Wiki
Jump to: navigation, search

雖然 HTML5 核心的音頻元素 <audio> 具有 play()seek(),甚至是可以任意調整的 audio.currentPosition 等等播放音頻用的 API,但是並不具有 讀取音頻內容資訊,操作、產生新音頻的機能。這對於以 <canvas> 建立的 WebApp ,特別是以 HTML5 製作遊戲上特別重要。

Mozilla 社群以及 Google 分別提出了以下兩個不同的 API,試圖解決這些需求:

Web Audio API 內建的音頻處理部件包括:

Flash 辦得到但是音頻 API 尚未辦到的事

針對 Audio Data API

針對 Web Audio API

演示

中文世界開發者做出的演示

其他演示

Audio Data API

目前只支援 Firefox 4

Web Audio API

目前只支援 Chrome 11 MacOSX 版

工具

一些兼容工具

  • XAudioJS — Grant Galitz 做的 Audio Data API 的兼容層。支援 Web Audio API,若不支援則用 <audio> 及 data URL 播放 MIDI。
  • dynamicaudio.js — Ben Firshman 做的 Audio Data API 的兼容層。不支援 Audio Data API 的使用 Flash 替代。
  • audiolib.js — jussi kalliokoski 做的 Web Audio API 的兼容層。使用 Audio Data API 的低階 API 達到了接近所有 Web Audio API 的功能。