远程通知音量级别与应用程序中播放的声音不同
Posted
技术标签:
【中文标题】远程通知音量级别与应用程序中播放的声音不同【英文标题】:Remote Notification volume level differs from sound played in app 【发布时间】:2015-12-08 05:11:40 【问题描述】:当有人呼叫用户时,我必须在我的应用中播放通知声音。当我将应用程序置于最小化状态时,推送通知会显示我分配给它的自定义声音。但是当我的应用程序处于前台时,相同的自定义音量级别不会跟随振铃声音级别。当应用程序处于前台时,我使用音频服务播放声音。但是通知声音和音频服务播放的相同声音的音量不同。
【问题讨论】:
【参考方案1】:您说的很对,这两者之间存在预期差异。这是交易......远程通知的声音级别由“铃声和警报”音量级别驱动。而另一方面,应用内播放的音频受“音乐和音频”音量级别的影响。
注意:如果您想以“铃声和警报”音量播放声音,您可以使用 AudioToolbox framework
并播放系统/警报声音(但请记住,这只会播放最长 30 秒的短声音)
这里是它的 Apple 文档:https://developer.apple.com/library/prerelease/ios/documentation/AudioToolbox/Reference/SystemSoundServicesReference/index.html#//apple_ref/c/func/AudioServicesPlayAlertSound
【讨论】:
感谢回复。。其实我已经解决了这个问题,只是没时间在这里更新。正如你所说,我已经在使用 SystemSound 来播放自定义声音。但是我做错的是用来播放SystemSound的方法。有两种方法可用于播放 SystemSound,即 AudioServicesPlaySystemSound 和 AudioServicesPlayAlertSound。我使用的 AudioServicesPlaySystemSound 不遵循远程通知使用的音量级别。所以现在我正在使用 AudioServicesPlayAlertSound,它播放与远程通知相同级别的声音。【参考方案2】:我已经解决了这个问题,使用AudioServicesPlayAlertSound
玩SystemSound
。我做错的是以前玩SystemSound
的方法。有两种方法可以用来播放SystemSound
,即AudioServicesPlaySystemSound
和AudioServicesPlayAlertSound
。我使用的是AudioServicesPlaySystemSound
,它不遵循远程通知使用的音量级别。所以现在我使用AudioServicesPlayAlertSound
,它播放与远程通知相同级别的声音。
【讨论】:
以上是关于远程通知音量级别与应用程序中播放的声音不同的主要内容,如果未能解决你的问题,请参考以下文章