2016-05-17 8 views
0

私は、既存のビデオタグに接続してオーディオを取得する必要があるプロジェクトで作業しています。ScriptProcessorNodeを使用してオーディオを再生すると、背景のノイズが少なくなります

var MyContext = new (window.AudioContext || window.webkitAudioContext)(); 
 
var source = MyContext.createMediaElementSource(video); 
 
audioScript = MyContext.createScriptProcessor(512,2,2); 
 
source.connect(audioScript); 
 
audioScript.connect(MyContext.destination); 
 

 
audioScript.onaudioprocess = function(audioProcessingEvent) { 
 
\t  var inputBuffer = audioProcessingEvent.inputBuffer; 
 

 
\t \t // The output buffer contains the samples that will be modified and played 
 
\t \t var outputBuffer = audioProcessingEvent.outputBuffer; 
 
\t \t for (var channel = 0; channel < 2; channel++) 
 
\t \t { 
 
\t \t \t var inputData = inputBuffer.getChannelData(channel); 
 
\t \t \t outputBuffer.copyToChannel(inputData, channel); 
 
\t \t } 
 

 
    }

問題は、私は、オーディオの光バックグラウンドノイズを取得しておくことです。入力を出力にコピーするだけで何もしなくても、その光のノイズが聞こえます。

いずれかの理由その理由は何ですか?

ありがとうございます!

答えて

0

バッファサイズを大きくすると、実際にレンダリングされるとフレームが少し落とされることがあります。すべてのデバイスが同じように動作するわけではなく、実際に何を行っているかにかかわらず、Chromeは1024サンプル以下のScriptProcessorNodesでうまく再生できません。

関連する問題