【发布时间】:2015-04-22 07:13:07
【问题描述】:
人们会认为 VoIP 应用程序必须遵守与普通电话应用程序相同的规则,但事实证明要正确实现振铃几乎是不可能的。我尝试了几件事:
-
带有铃声的本地推送通知。
良好:同时遵守静音和免打扰模式。
不好:声音不能超过30秒,而且只有在通知出现时振动一次。因此,要实现振铃效果,必须重新推送通知,例如每 6 秒,有效地向通知中心发送垃圾邮件。此外,如果应用处于活动状态,推送通知也不会发出声音/振动,因此应用必须检测到这一点并以不同的方式响铃。
-
AudioServicesPlayAlertSound().好:似乎是专门为此任务设计的适当 API。服从静音模式。
糟糕:完全忽略了勿扰模式,声音和振动直接通过。
-
使用
AVFoundation播放铃声。很好声音播放。
不好:不支持振动,不支持静音/免打扰模式。基本上不能用作铃声。
有没有更好的方法?还是 Apple 完全错过了这个用例?
【问题讨论】: