javascript - AudioContext createScriptProcessor 随机停止,没有错误

标签 javascript web-audio-api

我将麦克风输入节点 getUserMedia({audio:true}) 连接到 createScriptProcessor 节点和 onaudioprocess 事件回调停止发生,我不明白为什么。

我打印出每个回调的事件。中间的一个看起来像这样:

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

在我看来没有什么不同。我本来希望该事件包含某种通知。或者至少在控制台中出现错误。

有没有办法绑定(bind)到某种错误事件或其他东西?我不知道如何进一步解决这个问题。有时它会在一毫秒后停止。有时几分钟后。我似乎无法确定问题是什么。

最佳答案

这听起来像是垃圾收集。能指一下代码吗?

关于javascript - AudioContext createScriptProcessor 随机停止,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339107/

相关文章:

api - 为什么GainNode连接不起作用?

javascript - 创建 HTML 水平选项卡的优雅方法是什么?

javascript - 使用 Raphael JS 弹出可点击的图形

javascript - 如果一个对象只有一个实例,我还应该使用构造函数吗?

javascript - react-dates 与 moment js 的日期差异

javascript - 有没有办法为多个音频接口(interface)提供网络音频?

javascript - 使用 AnalyserNode 和 ChannelSplitter 获取 L/R 数据

html - 在从 <audio> 标签中删除音频时如何听到声音播放?

javascript - 为什么这个 html5 音频在 chrome 上不起作用,但在 safari 上运行良好

javascript - Vue动态列表