はじめに
タイトルの通りです。Web Audio APIを使ってオーディオを入力します。
ハッカソンで実装する際に調べたので、そのメモです。
サンプルコード
単刀直入にサンプルコード(JavaScript)です。
$(function() {
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia (
{
video: false,
audio: true
},
function(stream) {
var source = ctx.createMediaStreamSource(stream);
source.connect(ctx.destination);
},
function() {
// error handler ( no operation )
}
);
説明
getUserMediaのパラメータの意味は以下の通りです。
第一引数: 入力メディアの種類を指定
第二引数: メディアを取得できた場合に呼び出されるコールバック処理
第三引数: メディア取得失敗時のコールバック処理
上記サンプルコードでは何もせずにオーディオ入力をそのまま出力しています。
留意事項
- ブラウザ経由でgetUserMediaを使用してビデオやオーディオのメディアを取得する場合は、セキュリティ上、https接続である必要があります。ApacheやNodejsでhttps接続できるようにしましょう。
- やはりJavaScriptだとレイテンシが大きく、リアルタイム入力として使うには難があるようです。。