小编use*_*ser的帖子

在 installTapOnBus () 方法中我不能做什么?

我在 installTapOnBus() 方法中不能做什么?

如果您参考讲座 WWDC 2016 Delivering an Exceptional Audio Experience @ :31 分钟,它提到在实时音频中我不需要创建线程或分配任何内存。

这篇文章也提到了这一点。

这里的游戏名称是将任何可以移动的东西从渲染块移到初始化函数中。这包括分配内存块和调用系统函数之类的事情。

这是我的示例代码:

inputNode?.installTap(onBus: bus,
                 bufferSize: myTapOnBusBufferSize,
                     format: theAudioFormat) {

            (buffer: AVAudioPCMBuffer!,
               time: AVAudioTime!) -> Void in
            theShowInfo.audioFormat = theAudioFormat

            self.onNewBuffer(buffer)
        }
Run Code Online (Sandbox Code Playgroud)

这是否意味着在我的 onNewBuffer() 函数内部

我无法输入以下内容

var myStringArray = ["",""]
Run Code Online (Sandbox Code Playgroud)

或这个 ..

DispatchQueue.main.async(qos: .userInteractive) {

        }
Run Code Online (Sandbox Code Playgroud)

或这个?

NotificationCenter.default.post(name: Notification.Name(rawValue: MyNotificationIdentifier), object: nil)
Run Code Online (Sandbox Code Playgroud)

这是否意味着如果我在线程中执行这些调用并分配内存,我的应用程序将会崩溃?

这是否意味着如果我执行 fft 算法,我需要在 onNewBuffer 函数的线程中编写 fft 的所有代码?

audio core-audio avfoundation ios

2
推荐指数
1
解决办法
626
查看次数

标签 统计

audio ×1

avfoundation ×1

core-audio ×1

ios ×1