【问题标题】:AudioUnit Programming iOS iPhone 6s error 50 in audiounitrender after playing back audioAudioUnit Programming iOS iPhone 6s error 50 in audiounitrender 播放音频后
【发布时间】:2016-11-15 01:48:19
【问题描述】:

我有一个以前运行良好的应用程序(使用 iOS 9、iPhone 6 及更低版本)。它使用音频单元 API 使用 AudioUnitRender 回调(计算音频频率)来处理音频。这段代码在 iPhone 6s 上也可以正常工作,直到我尝试播放音频,然后在调用 AudioUnitRender 时出现错误 50(非常一般的错误)。

相同的代码在使用音频播放 API(包括播放视频)之前运行良好,在使用 iPhone 6、iPhone 5、5s 等之前或之后运行良好。

其中涉及大量代码,因此我不会发布它,但对于可能导致此问题的原因或我可以尝试帮助诊断问题的任何想法将不胜感激。

【问题讨论】:

    标签: ios objective-c audio core-audio audiounit


    【解决方案1】:

    错误 50 可能表示不支持的音频模式,例如采样率。

    在某些配置中,iPhone 6s 上的 RemoteIO 音频单元仅支持 48000 的采样率(不是 44100 与所有旧 iOS 设备一样,除了过时的 2G 和 3G iPhone)。这可能也适用于使用 Apple A9 处理器的其他 iOS 设备型号。

    有关详细信息,请参阅:https://forums.developer.apple.com/message/72961#72961

    IIRC,插入或拔出(忘了哪个)耳机将允许 6s 暂时支持 44.1k。

    【讨论】:

    • 嗯,很有趣。我将不得不尝试一下,看看它是否有所作为。知道为什么播放音频会导致出现问题和/或在尝试再次录制时可以采取哪些措施来解决问题?
    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多