投稿者 tel | 2014年5月8日

Web Audioで音声ファイルをストリーミング再生する

サイズの大きな音声ファイルだとデコードの時間が結構かかる。
なのでストリーミングで再生してみる。

http://jsdo.it/sapphire_al2o3/8uD2

Audioオブジェクトを作ってsrcにドロップしたファイルをurl化して入れる。

createMediaElementSourceを使ってストリーミング再生する。

var audio = new Audio();
function play() {
    var source = context.createMediaElementSource(audio),
    filter = context.createBiquadFilter();
    filter.type = 0;
    filter.frequency.value = 4000;
    source.connect(filter);
    filter.connect(context.destination);
    audio.play();
}
var f = new FileReader();
f.onload = function(e) {
    var blob = new Blob([e.target.result], {"type": file.type});
    audio.src = window.URL.createObjectURL(blob);
    play();
    audio.play();
};
f.readAsArrayBuffer(file);

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。