我正在 iPhone 上开发 VOIP 应用程序,但在执行传入铃声功能时遇到一些问题。我希望传入的铃声可以在后台和手机锁定状态下播放。并且可以通过 iPhone 的硬件按钮来消除铃声,类似于 native 电话调用行为。
1. 当用户按下屏幕锁定时,铃声应静音
2. 当静音按钮打开时,铃声应静音。
我无法通过将 Audio Session 类别查看为播放模式或环境来解决这个问题。播放类别不支持屏幕锁定和静音按钮。环境类别不支持背景音频。有人可以帮忙吗?
最佳答案
为了使手机上音量按钮更改时的音频静音,您需要注册以下通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChangedDuringDisconnectionAlert:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil];
然后在您的选择器功能中,要么使警报静音,要么用它做任何您想做的事情。
至于用户解锁屏幕时静音音频,您很可能必须在 - (void)applicationWillEnterForeground:(UIApplication *)application
或 中选择它- (void)applicationDidBecomeActive:(UIApplication *)application
应用程序委托(delegate)内部的函数。
如果您有疑问,请告诉我。
关于ios - 如何播放可通过 iPhone 上的屏幕锁定按钮关闭的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14249857/