【问题标题】:CoreAudio crash - AVAudioIONodeImpl.mm:365: _GetHWFormat: required condition is false: hwFormatCoreAudio 崩溃 - AVAudioIONodeImpl.mm:365:_GetHWFormat:所需条件为 false:hwFormat
【发布时间】:2017-02-26 16:09:54
【问题描述】:

我正在使用两个应用程序模块:

1) 使用此 audioSession 设置的录音模块:

try audioSession.setCategory(AVAudioSessionCategoryRecord)
try audioSession.setMode(AVAudioSessionModeMeasurement)
try audioSession.setPreferredIOBufferDuration(0.05)
try self.audioSession.setActive(true)

2) 使用此 audioSession 设置的录音模块:

try audioSession.setCategory(AVAudioSessionCategoryPlayback) 
try audioSession.setMode(AVAudioSessionModeDefault)
try self.audioSession.setActive(true)

对于 1->2 和 2-1 中的每个段落,我都有一个 try self.audioSession.setActive(false)

如果我从 1) 模块传递到 2) 或重做 1) 一切正常。如果从 2) 我到 1) 我在 try self.audioSession.setActive(true) 上收到此错误

这是错误:

ERROR:    [0x16e10b000] >avae> AVAudioIONodeImpl.mm:365: 
_GetHWFormat: required condition is false: hwFormat

此错误与什么有关?我在 Apple iOS 文档上找不到任何帮助来了解问题所在。

有人给点建议吗?

【问题讨论】:

    标签: ios core-audio avaudiosession audiounit audiokit


    【解决方案1】:

    这个问题原来是一个 iOS 错误,在 Apple 错误报告中有一个关于这个问题的未解决问题,它的 ID 为 29890198。它目前仍处于打开状态。

    作为一种解决方法,我设法通过在录制阶段设置 AVAudioSessionCategoryPlayAndRecord 代替 AVAudioSessionCategoryRecord 来解决问题:

    try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
    

    我建议也跟踪苹果论坛上打开的线程:https://forums.developer.apple.com/thread/73166

    希望它很快会得到修复。

    【讨论】:

    猜你喜欢
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    相关资源
    最近更新 更多