如何播放可以通过 iPhone 上的屏幕锁定按钮关闭的音频

Posted

技术标签:

【中文标题】如何播放可以通过 iPhone 上的屏幕锁定按钮关闭的音频【英文标题】:How can I play an audio that can be dismissed by screen lock button on iPhone 【发布时间】:2013-01-10 02:20:02 【问题描述】:

我正在 iPhone 上开发一个 VOIP 应用程序,但在使用传入铃声功能时遇到了一些问题。我希望来电铃声可以在后台和手机锁定状态下播放。振铃器可以通过 iPhone 的硬件按钮消除,类似于原生电话呼叫行为。 1.当用户按下屏幕锁定时,铃声应该被静音 2.当静音按钮打开时,铃声应该被静音。

我无法通过将音频会话类别设置为播放模式或环境来解决这个问题。播放类别不支持屏幕锁定和静音按钮。环境类别不支持背景音频。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

为了使手机上的音量按钮更改静音,您需要注册以下通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChangedDuringDisconnectionAlert:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil];

然后在你的选择器函数中,要么让你的警报静音,要么做任何你想做的事情。

至于在用户解锁屏幕时静音音频,您很可能必须在应用委托内的- (void)applicationWillEnterForeground:(UIApplication *)application- (void)applicationDidBecomeActive:(UIApplication *)application 函数中选择它。

如果您有任何问题,请告诉我。

【讨论】:

对于音量按钮控制,我有办法处理。但我认为屏幕锁定控制并不像你建议的那么简单。因为我想在按下屏幕锁定时使音频静音,而不是相反。

以上是关于如何播放可以通过 iPhone 上的屏幕锁定按钮关闭的音频的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 的锁定屏幕中开始播放音乐

锁屏 iPhone

如何检测 iPhone 上的屏幕锁定/解锁事件?

如何在屏幕锁定或最小化浏览器期间禁用移动设备上的网页音频?

iPhone 上的屏幕关闭事件或属性

通过锁定屏幕上的硬件按钮提供对音量控制的访问