【问题标题】:Callback for kAudioSessionProperty_AudioRouteChange not called in one case在一种情况下未调用 kAudioSessionProperty_AudioRouteChange 的回调
【发布时间】:2010-10-18 22:45:10
【问题描述】:

我想在耳机插入或拔出时收到通知。我目前正在使用这样的属性侦听器来执行此操作:

AudioSessionAddPropertyListener(kAudioSessionProperty_AudioRouteChange, myCallback, self);

这在所有情况下都非常有效,除了一种情况,它是这样的:

  1. 启动,iPhone 未静音,未插入耳机
  2. 打开静音按钮:回调被调用,很好
  3. 立即插入耳机:回调未调用,不好

还有其他我应该考虑的属性吗?是否有我不知道的涉及静音按钮的特殊情况?

我使用的是 iPhone 3GS 和 iOS 4.1。

非常感谢您的帮助! 帕特里克

【问题讨论】:

  • 我遇到了类似的问题。从静音切换到响铃时,有时不会触发 AudioRouteChange 回调。我可以通过使设备静音,然后在大约 1 秒后取消静音来可靠地重现此问题。快速来回拨动开关或等待超过一秒时不会发生此问题。

标签: objective-c iphone cocoa core-audio


【解决方案1】:

此错误/功能仅在使用受静音开关影响的音频会话类别时发生(例如 kAudioSessionCategory_SoloAmbientSound)。 kAudioSessionCategory_MediaPlayback 例如按预期工作。

【讨论】:

    猜你喜欢
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2013-12-05
    相关资源
    最近更新 更多