【发布时间】:2017-05-26 05:31:10
【问题描述】:
在 installTapOnBus() 方法中我不能做什么?
如果您参考讲座 WWDC 2016 Delivering an Exceptional Audio Experience @ :31 min 它提到在实时音频中我不需要创建线程或分配任何内存。
此外,article 也提到了这一点。
这里的游戏名称是将任何可以移动的东西移出渲染块并进入初始化函数。 这包括分配内存块和调用系统函数之类的事情。
这是我的示例代码:
inputNode?.installTap(onBus: bus,
bufferSize: myTapOnBusBufferSize,
format: theAudioFormat) {
(buffer: AVAudioPCMBuffer!,
time: AVAudioTime!) -> Void in
theShowInfo.audioFormat = theAudioFormat
self.onNewBuffer(buffer)
}
这是否意味着在我的 onNewBuffer() 函数内部
我无法输入以下内容
var myStringArray = ["",""]
或者这个..
DispatchQueue.main.async(qos: .userInteractive) {
}
还是这个?
NotificationCenter.default.post(name: Notification.Name(rawValue: MyNotificationIdentifier), object: nil)
如果我在线程中执行这些调用并分配内存,是否意味着我的应用程序会崩溃?
是否意味着如果我做fft算法我需要在onNewBuffer函数的线程中制作fft的所有代码?
【问题讨论】:
-
在第 502 课 - 实践中的 AVAudioEngine => 在 22 分钟内。在水龙头块内部说我可以用这些数据做任何我需要做的事情
标签: ios audio avfoundation core-audio