1

我正在开发 iOS 上的 VOIP 应用程序。我在实现“忽略传入铃声”功能时遇到了一些问题。有以下要求: 1. 按下锁屏键或音量键时应停止铃声 2. 静音键按下“静音”状态时应停止铃声 3. 静音键处于“静音”状态时不应播放铃声

由于 iOS SDK 没有提供手机硬件按键的信息,我只能依靠设置 AVAudioSession 类别。在播放铃声之前,我将类别设置为环境,以便屏幕锁定和静音按钮可以停止音频。但是这种方法不能满足我的要求,因为应用程序在后台时无法播放铃声,因为环境类别不支持背景音频。
为了解决这个问题,我开始在播放和录制类别中播放铃声,使音频流出来并立即将类别更改为环境。虽然它可以满足我的要求,但是这种方法引起了很多问题和错误。例如,MPVolumeView 无法正确显示输出设备。

谁能提供一种更优雅的方式来模拟振铃器?或者这可以在 iPhone 中完成吗?由于它将在应用商店中,因此我无法使用私有 api。提前致谢。

4

0 回答 0