【发布时间】:2015-12-08 05:11:40
【问题描述】:
当有人呼叫用户时,我必须在我的应用中播放通知声音。当我将应用程序置于最小化状态时,推送通知会显示我分配给它的自定义声音。但是当我的应用程序处于前台时,相同的自定义音量级别不会跟随振铃声音级别。当应用程序处于前台时,我使用音频服务播放声音。但是通知声音和音频服务播放的相同声音的音量不同。
【问题讨论】:
标签: ios
当有人呼叫用户时,我必须在我的应用中播放通知声音。当我将应用程序置于最小化状态时,推送通知会显示我分配给它的自定义声音。但是当我的应用程序处于前台时,相同的自定义音量级别不会跟随振铃声音级别。当应用程序处于前台时,我使用音频服务播放声音。但是通知声音和音频服务播放的相同声音的音量不同。
【问题讨论】:
标签: ios
您说的很对,这两者之间存在预期差异。这是交易......远程通知的声音级别由“铃声和警报”音量级别驱动。而另一方面,应用内播放的音频受“音乐和音频”音量级别的影响。
注意:如果您想以“铃声和警报”音量播放声音,您可以使用 AudioToolbox framework 并播放系统/警报声音(但请记住,这只会播放最长 30 秒的短声音)
【讨论】:
我已经解决了这个问题,使用AudioServicesPlayAlertSound 玩SystemSound。我做错的是以前玩SystemSound的方法。有两种方法可以用来播放SystemSound,即AudioServicesPlaySystemSound和AudioServicesPlayAlertSound。我使用的是AudioServicesPlaySystemSound,它不遵循远程通知使用的音量级别。所以现在我使用AudioServicesPlayAlertSound,它播放与远程通知相同级别的声音。
【讨论】: