如何在 iPhone 中使用 AVAudioPlayer 播放静音模式下的声音
在 iOS 设备上,静音模式会禁用设备的音频输出,以防止在来电、短信或其他情况下打断应用。然而,在静音模式下仍然可以使用 AVAudioPlayer 播放声音。要在静音模式下播放声音,请遵循以下步骤:
AVAudioSession
的 AVAudioSessionRouteDescription
指定音频输出路径。do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])
try AVAudioSession.sharedInstance().setActive(true, options: [])
} catch let error as NSError {
print("Error: \(error.localizedDescription)")
}
AVAudioPlayer
类播放音频:let audioPlayer = AVAudioPlayer()
func playAudio() {
if let url = Bundle.main.url(forResource: "audio", withExtension: "mp3") {
do {
audioPlayer.setAudioFileURL(url)
audioPlayer.prepareToPlay()
} catch let error as NSError {
print("Error: \(error.localizedDescription)")
}
}
}
playAudio()
方法:playAudio()
audioPlayer.stop()
方法:audioPlayer.stop()
通过这种方式,即使在静音模式下,也可以使用 AVAudioPlayer
播放声音。需要注意的是,在 iOS 设备上,音频会话默认设置为 .playback
,但您也可以自定义音频会话类别以适应您的需求。要了解详细信息,请参阅 Apple 的 AVAudioSession 文档。
领取专属 10元无门槛券
手把手带您无忧上云