【问题标题】:Crash when setting AudioKit output node on iPhone 5s在 iPhone 5s 上设置 AudioKit 输出节点时崩溃
【发布时间】:2018-04-10 08:59:27
【问题描述】:

每当我将 AudioKit 输出设置为混音器节点时,我都会遇到一致的崩溃。崩溃发生在运行 iOS 10.3.3 的 iPhone 5s 上,但不会发生在运行 iOS 11.3 的 iPhone 7 上。

我正在运行的代码(设置录制视图):

mic = AKMicrophone()
mic.stop()
fft = AKFFTTap.init(mic)
micMixer = AKMixer(mic)
micBooster = AKBooster(micMixer)
micBooster.gain = 0
do {
            recorder = try AKNodeRecorder(node: micMixer)

            if let file = recorder.audioFile {
                player = try AKAudioPlayer(file: file)
                player.looping = false
                player.completionHandler = playingEnded
            }
            mainMixer = AKMixer(player, micBooster)
            AudioKit.output = mainMixer //THIS IS WHERE IT CRASHES!
        }
        catch {
            //debug prints here don't get printed
            throw error
        }

从不调用 catch 块,不会抛出错误。

日志中的崩溃详细信息:

错误:[0x1b12c0b40] >avae> AVAudioIONodeImpl.mm:466:EnableBus_block_invoke:错误-10849 *** 由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“错误 -10849”

任何帮助或信息将不胜感激!

【问题讨论】:

    标签: audiokit


    【解决方案1】:

    您无法使用正在录制的文件创建播放器。

    【讨论】:

    • 不是这样,因为它适用于另一台设备。另外,播放器初始化与此处的记录器演示相同:audiokit.io/examples/RecorderDemo
    • 播放器是否在其他设备上播放?
    【解决方案2】:

    我不确定这是不是这个原因,但在此之前我在另一段代码中启动了 AudioKit 引擎,但我错过了。当我在 AudioKit.output = .... 调用之后移动 AudioKit.start() 调用时,它不会崩溃。

    【讨论】:

      猜你喜欢
      • 2018-03-02
      • 1970-01-01
      • 2014-09-27
      • 1970-01-01
      • 2020-02-18
      • 2014-11-28
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      相关资源
      最近更新 更多