【发布时间】:2021-08-12 02:39:42
【问题描述】:
我希望像 iOS 语音备忘录应用一样在屏幕上渲染音频波形,所以我使用 AVAudioEngine 并在输入节点上安装了 Tap。但它在 0.1 秒的频率上给出了最快的回调,我需要以更快的频率获取缓冲数据,以便可以在屏幕上绘制越来越多的波形以实现流畅和实时的可视化。
您能推荐更好的方法吗?
让 inputNode = self.audioEngine!.inputNode 让格式 = inputNode.inputFormat(forBus: 0)
inputNode.installTap(onBus: 0, bufferSize: 4096, format: format) { [self] (buffer, time) in
processAudioData(buffer: buffer)
DispatchQueue.main.async {
audioPlotView.setNeedsDisplay(). // Render waveform on screen
}
}
【问题讨论】:
标签: swift avaudioengine