当用户将手机切换到静音状态时,如何防止iOS VoIP应用程序播放音频?
我正在iOS上构建一个VoIP应用程序,我正在使用当用户将手机切换到静音状态时,如何防止iOS VoIP应用程序播放音频?,ios,iphone,audio,voip,Ios,Iphone,Audio,Voip,我正在iOS上构建一个VoIP应用程序,我正在使用AVAudioSessionCategoryPlayAndRecord的AVAudioSession类别,建议用于需要不断播放和录制音频的VoIP应用程序 但是,当用户将iPhone铃声切换到静音模式时,VoIP应用程序仍会为来电播放声音。这不是期望的行为 当用户的手机处于静音状态时,是否有办法防止来电播放音频,但仍允许他们接听电话并恢复音频?如果您查看音频会话类别的文档,您可以看到,AVAudioSessionCategoryPlayAndRe
AVAudioSessionCategoryPlayAndRecord
的AVAudioSession
类别,建议用于需要不断播放和录制音频的VoIP应用程序
但是,当用户将iPhone铃声切换到静音模式时,VoIP应用程序仍会为来电播放声音。这不是期望的行为
当用户的手机处于静音状态时,是否有办法防止来电播放音频,但仍允许他们接听电话并恢复音频?如果您查看
音频会话类别的文档,您可以看到,AVAudioSessionCategoryPlayAndRecord
不幸地不遵守手机静音,如下所示:
Your audio continues with the Silent switch set to silent and with the screen locked. (The switch is called the Ring/Silent switch on iPhone.)
如果你想在手机静音时停止音频,你应该使用AVAudioSessionCategoryAmbient
我想我找到了一个适用于VoIP应用程序的解决方案。如果手机设置为静音,我希望手机显示警报并振动,而不是播放可听铃声
我可以通过使用本地通知并将声音移出应用程序并将其添加到通知本身来解决这个问题。通过指定声音文件作为通知的一部分,iOS将处理是播放音频还是振动手机。这由手机侧面的响铃/静音开关的位置决定