如何暂停离线渲染?

时间:2017-02-11 20:30:37

标签: web-audio audio-processing web-audio-api audiocontext

OfflineContext.suspend会停止OfflineContext.currentTime的进展,但渲染时会有什么影响(OfflineContext.startRendering)?我想要做的是启动渲染过程,暂停它,执行其他任务并在完成其他任务时恢复它。当渲染过程暂停时,迫在眉睫的AudioBuffer不应该变得更大,这意味着当我将AudioBuffer导出到wav文件并播放它时,应该没有对应于暂停的静音由渲染过程拍摄。

我在渲染时尝试了OfflineContext.suspend,它似乎在生成的wav文件中添加了一些沉默,但也许我做错了。

  1. 如何暂停渲染过程?
  2. 什么是OfflineContext.suspend

1 个答案:

答案 0 :(得分:0)

suspend旨在使离线上下文在调用startRendering()之前在受控时间停止。你可以在开始渲染后调用suspend(),但这不是很精确,特别是因为渲染可能比实时更快。

另外,在渲染过程中无法访问AudioBuffer。如果要在渲染时捕获音频,请使用ScriptProcessorNodeAudioWorkletNode保存音频数据。