2016-05-17 125 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沒有什麼好處,無論他們實際在做什麼。