我正在嘗試編寫一個應用程序,其功能類似於手機查找程序,但具有完全不同的用法和調用通道。我能夠獲取用戶的位置,並且可以完成後臺抓取,但我一直在努力的是在音量大的時候播放聲音(即使手機靜音),以便在用戶的電話丟失時找到用戶的手機。這在Android上很容易,我也想在iOS上覆制它。我是能夠播放聲音時,應用程序從前臺切換至後臺做這個:Swift 3如何覆蓋靜音模式並播放背景音頻
func setupAudio(){
print("Trying to play audio")
guard let sound = NSDataAsset(name: "FeelinGood") else {
print("asset not found")
return
}
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
audioPlayer = try AVAudioPlayer(data: sound.data, fileTypeHint: AVFileTypeMPEGLayer3)
audioPlayer.play()
} catch let error as NSError {
print("error: \(error.localizedDescription)")
}
}
但是當我嘗試當我收到遠程通知調用此方法不起作用。我有鬧鐘可以通過遠程通知與我的應用程序一起工作,並且可以播放自定義聲音,但只有當手機不處於靜音模式時纔有效。
應用商店中有很多應用正在覆蓋靜音模式,所以我非常肯定有一種方法可以做到這一點,但我不確定如何。
謝謝殭屍。但我的音頻播放器的問題是,當應用程序完全處於後臺時,我甚至無法播放它。所以當應用程序在後臺並鎖定屏幕時,它不起作用。在這種狀態下,我驚慌失措,但我無法推翻沉默。 – abharku
帶鬧鐘我的意思是本地通知自定義旋律爲30秒 – abharku
是否啓用了上述背景模式 – zombie