2012-07-02 6 views
9

<audio/> -elementからオーディオファイルをcreateMediaElementSource経由でロードしてから、オーディオデータをAudioBufferSourceNodeにロードすることはできますか?audioBufferSourceNodeにaudiodataを<audio/>要素からcreateMediaElementSource経由でロードしますか?

noteOnnoteGrainのようなバッファメソッドを使用したいので、オーディオ要素をソース(MediaElementSource)として使用することはオプションではないようです。残念ながら、XHRを介してバッファに直接オーディオファイルをロード

はオプションでもない オーディオ要素からバッファの内容をロード

Open stream_url of a Soundcloud Track via Client-Side XHR?参照)されていないが可能であるように思わ:

http://www.w3.org/2011/audio/wiki/Spec_Differences#Reading_Data_from_a_Media_Element

<audio/> -elementのバッファをsourceNodeとして直接使用することは可能ですか?

答えて

5

これは可能です。私のポストはhttp://updates.html5rocks.com/2012/02/HTML5-audio-and-the-Web-Audio-API-are-BFFsです。コードスニペットとその例もあります。いくつかの顕著なバグがありますが、<audio>をWeb Audio APIにロードすることは、必要に応じて機能するはずです。

+3

ええ、私はbufferSourceNode(noteOn、noteOff、noteGrainなど)で/として使用するMediaElementSourceから**バッファ**を取得することが可能かどうかを知りたいですか? –

+0

良い例ですが、 –

+0

なぜ+100を無駄にするのですか?そうです。 –

0

は、私はあなたがまだ、より良い解決策を見つけたし、私もあなたが投稿W3Cのリンクをチェックするかどうかわからないんだけど:http://www.w3.org/2011/audio/wiki/Spec_Differences#Reading_Data_from_a_Media_Element

しかし、それは本当にあなたがAudioContext.createScriptProcessor()を使用する必要が動作するためで 。私はこれをまだ試していませんでしたが、基本的にソースノード(オーディオエレメント)をスクリプトプロセッサに接続しますが、必要がない場合はオーディオを出力しません。 onaudioprocessコールバックでは、オーディオバッファデータに直接アクセスできます(もちろん、指定されたサイズのチャンクで)。上記のリンクには例があります。

また、再生の速度を調整して、より多くのバッファ配列を高速に取得できると思います。

関連する問題