我在談論反饋 - 當您製作一個簡單的JavaScript應用程序,可以從用戶打開一個流並讀取頻率分析(或其它)時,它將全部收到數據返回到Google Chrome和Opera中的耳機。 Firefox在大多數時間都處於沉默狀態,隨機創建一個包含不穩定反饋的巨大混亂 - 它也會在幾秒鐘後關閉流。一般來說,這東西在Firefox中不起作用。如何避免播放正在錄製的聲音
我創建了一個fiddle。如果你的瀏覽器不支持它,你只會在我假設的控制檯中出錯。
代碼的重要組成部分的功能是當用戶接受麥克風訪問請求被稱爲:
//Not sure why do I do this
var inputPoint = context.createGain();
// Create an AudioNode from the stream.
var source = context.createMediaStreamSource(stream);
source.connect(inputPoint);
//Analyser - this converts raw data into spectral analysis
window.analyser = context.createAnalyser();
//Mores stuff I know nothing about
analyser.fftSize = 2048;
//Sounds much like connecting nodes in MatLab, doesn't it?
inputPoint.connect(analyser);
analyser.connect(context.destination);
///THIS should probably make the sound silent (gain:0) but it doesn't
var zeroGain = context.createGain();
zeroGain.gain.value = 0.0;
//More connecting... are you already lost which node is which? Because I am.
inputPoint.connect(zeroGain);
zeroGain.connect(context.destination);
零收益的想法是不是我的,我已經從簡單的sound recorder demo偷來的。但是對他們有用的東西不適合我。 該演示在Firefox中也沒有問題,就像我一樣。
在功能mediaGranted(流)