2015-12-08 27 views
3

當有人呼叫用戶時,我必須在我的應用程序中播放通知聲音。當我將應用程序置於最小化狀態時,推送通知將顯示自定義的聲音,並將其分配給它。但是當我的應用程序處於前臺時,相同的自定義音量級別不會跟隨鈴聲聲級。當應用處於前臺時,我已經使用音頻服務來播放聲音。但通知聲音的音量水平與音頻服務播放的聲音不同。遠程通知音量級別與應用程序中播放的聲音不同

回答

0

我已經解決了這一點,通過使用AudioServicesPlayAlertSoundSystemSound。我做錯了的是過去玩SystemSound的方法。有兩種方法可用於播放SystemSound,即AudioServicesPlaySystemSoundAudioServicesPlayAlertSound。我使用的是AudioServicesPlaySystemSound,它不遵循遠程通知使用的音量級別。所以現在我正在使用AudioServicesPlayAlertSound,它播放與遠程通知相同級別的聲音。

0

你說得很對,這兩者之間有意圖的區別。這就是協議......遠程通知的聲音級別由「鈴聲和提醒」音量級別驅動。另一方面,應用內播放的音頻受「音樂和音頻」音量級別的影響。請注意:如果您想以'Ringer and Alert'音量級別播放聲音,您可以使用AudioToolbox framework並播放System/Alert聲音(但請記住,這隻會播放最長30秒的短暫聲音)

這裏是蘋果公司的文檔吧:https://developer.apple.com/library/prerelease/ios/documentation/AudioToolbox/Reference/SystemSoundServicesReference/index.html#//apple_ref/c/func/AudioServicesPlayAlertSound

+0

感謝您的回覆..其實我已經解決了這個問題,但沒有時間在這裏更新。正如你所說我已經在使用SystemSound來播放自定義聲音。但是我做錯了是用來播放SystemSound的方法。有兩種方法可用於播放SystemSound,即AudioServicesPlaySystemSound和AudioServicesPlayAlertSound。我正在使用AudioServicesPlaySystemSound,它不遵循遠程通知使用的音量級別。所以現在我正在使用AudioServicesPlayAlertSound,它播放與遠程通知相同級別的聲音。 –

相關問題