0
我將麥克風輸入節點getUserMedia({audio:true})
連接到createScriptProcessor
節點,並且onaudioprocess
事件回調剛剛停止,我無法弄清楚原因。AudioContext createScriptProcessor隨機停止,沒有錯誤
我打印出每個回調的事件。一個在中間看起來是這樣的:
AudioProcessingEvent {outputBuffer: AudioBuffer, inputBuffer: AudioBuffer, playbackTime: 5.479909297052155, clipboardData: undefined, path: NodeList[0]…}
bubbles: true
cancelBubble: false
cancelable: false
clipboardData: undefined
currentTarget: ScriptProcessorNode
defaultPrevented: false
eventPhase: 0
inputBuffer: AudioBuffer
outputBuffer: AudioBuffer
path: NodeList[0]
playbackTime: 5.479909297052155
returnValue: true
srcElement: ScriptProcessorNode
target: ScriptProcessorNode
timeStamp: 1417920765179
type: "audioprocess"
__proto__: AudioProcessingEvent
,最後一個看起來是這樣的:
AudioProcessingEvent {outputBuffer: AudioBuffer, inputBuffer: AudioBuffer, playbackTime: 5.944308390022676, clipboardData: undefined, path: NodeList[0]…}
bubbles: true
cancelBubble: false
cancelable: false
clipboardData: undefined
currentTarget: ScriptProcessorNode
defaultPrevented: false
eventPhase: 0
inputBuffer: AudioBuffer
outputBuffer: AudioBuffer
path: NodeList[0]
playbackTime: 5.944308390022676
returnValue: true
srcElement: ScriptProcessorNode
target: ScriptProcessorNode
timeStamp: 1417920765643
type: "audioprocess"
__proto__: AudioProcessingEvent
看起來沒有什麼不同我。我希望這個事件包含某種通知。或者在控制檯中至少出現錯誤。
有沒有辦法綁定到某種錯誤事件或什麼?我不知道如何進一步解決這個問題。有時會在一毫秒後停止。有時在幾分鐘後。我似乎無法確定問題所在。
完全可以。我怎麼做? [這是代碼](https://github.com/ccorcos/meteor-webaudio)。我需要「刪除」使用'new'創建的任何對象嗎?另外,是否有任何開發工具可以顯示這一點? – Chet 2014-12-07 07:31:00
是的,所以這絕對是問題。出於某種原因,我雖然JavaScript神奇地解決了這個問題。我想我喜歡功能性編程更多... – Chet 2014-12-07 08:56:07
所以我不知道如何弄清楚這一點。我刪除了我創建的'new'對象。當我在鉻開發人員工具中查看時間線時,看起來像鋸齒波。所以看起來內存只是不斷增加而後下降。我不確定它是從哪裏來的...... – Chet 2014-12-08 02:25:29