gpt4 book ai didi

ios - AVAudioSession 中断通知只触发一次

转载 作者:行者123 更新时间:2023-11-29 10:26:34 25 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我正在像这样注册到 AVAudioSession 中断通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleAudioSessionInterruption:) name:AVAudioSessionInterruptionNotification object:nil];

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];

[[AVAudioSession sharedInstance] setActive:YES error:nil];

当我通过播放一些来自 youtube 的随机音乐来测试我的应用程序时,handleAudioSessionInterruption 方法首次触发 (InterruptionBegan)。当我退出 youtube 应用程序时,该方法再次被触发 (InterruptionEnded)。现在我重复之前的相同步骤,方法根本没有被触发,我需要重新启动我的应用程序以使其再次运行。谁能告诉我哪里出了问题或指出一些示例实现。

注意:我既没有看到任何错误,也没有看到应用程序崩溃。

最佳答案

观察者可能会从 NSNotificationCenter 中移除。确保没有发生这种情况。调用 removeObserver:self 而不指定通知名称将从 NSNotificationCenter 中删除所有通知的 self。

除了您当前正在注册的观察者之外,还尝试让 AppDelegate 成为 AVAudioSessionInterruptionNotification 的观察者。如果 AppDelegate 的处理程序即使在您的其他处理程序停止被调用后仍继续被调用,那么这将为您提供更多信息。

关于ios - AVAudioSession 中断通知只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31887997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com