【问题标题】:iOS - AudioUnitInitialize returns error code 561017449iOS - AudioUnitInitialize 返回错误代码 561017449
【发布时间】:2015-01-01 19:21:52
【问题描述】:

我在 App Store 中有一个使用 AudioUnit 录制音频的应用。

大约每周一次,我发现对于一些野外用户来说,对 AudioUnitInitialize 的调用失败,错误代码 561017449 也是 0x21707269 或“irp!”。

这个错误代码是什么意思?我一直无法找到它的记录。另外:

~$ macerror 561017449
Unknown error (561017449) at /usr/bin/macerror5.16 line 40, <DATA> line 1.

这个问题的实例很少,但到目前为止,就设备和操作系统版本而言,似乎没有通用模式。

我不包括代码,因为我认为这还没有帮助。该代码已经在各种设备上运行。目前,我最感兴趣的是了解有关此特定错误的详细信息。

谢谢!

【问题讨论】:

    标签: ios audiounit


    【解决方案1】:

    这是在 AVAudioSession.h 中定义的:

    AVAudioSessionErrorInsufficientPriority = '!pri', /* 0x21707269, 561017449 */
    

    并被描述为“不允许该应用设置音频类别,因为另一个应用(电话等)正在控制它。”

    【讨论】:

    • 我在 AVAudioSession.h 中找不到这个!?它是 iOS SDK 7.0 令人惊讶的是甚至无法找到它是否已被弃用以及替代方案是什么。
    • 好的,好像它会被添加到最新的 iOS SDK 中,即 8,正如我在 AVAudioSessionErrorCodes 文档中看到的那样:
    • 当您尝试在 AVAudioEngine 实例上调用 startprepare 并且您正在拨打电话时,可能会发生崩溃。
    • 我的应用程序因此崩溃。我怎样才能防止它崩溃?我的意思是在 AudioUnitInitialize() 中获得“561017449”状态时应该遵循什么程序?
    • @AndaluZ 没有更多细节很难回答。通常,如果您收到此错误,则需要在您的应用程序中禁用音频。此错误表明 AU被初始化,因此不能用于后续调用。
    【解决方案2】:

    在浪费了很多时间之后,我发现在我的设备 (iPad) 中刚刚调试了我当前的代码,而没有卸载现有的实时应用程序,就出现了这个问题。 录制和播放权限造成了问题。所以卸载然后安装一个新版本对我来说神奇地完成了这项工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-01
      • 2015-03-24
      • 2014-12-18
      • 2018-09-27
      • 2011-12-04
      • 2014-07-03
      • 1970-01-01
      • 2017-06-03
      相关资源
      最近更新 更多