判断是否需要调用 AudioKit.start()

Determine if AudioKit.start() needs to be called

使用AudioKit框架,如何判断start()是否已经被调用?另外,如果我在当前申请会话期间调用了 start() 而我没有调用 stop(),是否存在我需要再次调用 start() 的情况?

我正在构建一个播放大量示例的应用程序,我正在努力避免不必要地多次调用 start()

通过查看源代码,我确定您可以使用以下表达式:

if !AudioKit.engine.isRunning {
    try? AudioKit.start()
}

我还是很好奇为什么调用AudioKit.start()不检查引擎是否已经运行。

编辑

我还发现用以下检查包装对 AKPlayer.play() 的所有调用以防止此崩溃很有用:Required condition is false: _engine->IsRunning().

if AudioKit.engine.isRunning {
    myAKPlayer.play()
}