簡體   English   中英

當用戶將手機切換為靜音時,如何防止我的iOS VoIP應用播放音頻?

[英]How can I prevent my iOS VoIP app from playing audio when the user switches their phone to silent?

我建立iOS上的VoIP應用程序,我使用的AVAudioSession類別AVAudioSessionCategoryPlayAndRecord ,該建議需要不斷的播放和錄制音頻的VoIP應用。

但是,當用戶將其iPhone振鈴器切換為靜音模式時,VoIP應用程序仍會為傳入呼叫播放聲音。 這不是所需的行為。

當用戶的電話處於靜音狀態但仍允許他們接聽電話並恢復音頻時,是否有辦法防止來電播放音頻?

如果您在此處查看有關AVAudioSession Categories的文檔, AVAudioSession Categories發現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將處理是播放音頻還是振動手機。 這取決於電話側面的Ring / Silent開關的位置。

這是一篇有關在本地通知中添加聲音的Apple文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM