エメラルドマウンテンの麓。

ブラウザネイティブの録音APIのサポート状況の調査

仕事でWebブラウザの録音機能を使うことになり、サポート状況を調査しました。

録音した音声データを取り出すには、MediaDevices または navigator.getUserMediaWorker, Blob を組み合わせる必要があるため、各APIのサポート時期を調べて纏めます。

変わり種として同様に録音機能を提供する MediaRecorder なる別の API があったようです。こちらは詳しく見れていません。

ブラウザ サポートするバージョン
IE12
Opera?
Firefox23
Chrome21
Safari11
iOS11(WebView では不可)
Android ブラウザ5
Android Chrome?
Android Firefox?
Android Opera?
各APIを提供するバージョン
ブラウザ Web Audio getUserMedia (MediaDevices) createObjectURL(*2) (worker) Worker Blob MediaRecorder
IE1212(12)10(11)1010
Opera1512(*1),1815(15)11.512.1
Firefox23(25)17(36)4(21)3.5625
Chrome10(14)218(10)4847
Safari6116(6)46
iOS6.111(*3)6(6)5.16.1
Android ブラウザ5542.1, 4.4+3
Android Chrome28(29)61?18(18)61?61?47
Android Firefox23(25)?(36)14(14)56?56?25
Android Opera15(15)12.1
  1. WebRTCのgetUserMediaでビデオ出力Opera 12では映像のみ出力され、音声は出力されませんでした。
  2. URL.revokeObjectURL() を忘れずに。
  3. iOS の WebView では使えないので注意。つまり、iOS 版 Chrome 等でも使えません。

Web Workers が使用できる関数とクラス