我正在制作一个相当基本的应用程序,并且一直在探索使用 AVAudioPlayer 在我的应用程序中播放声音,但我遇到了一个问题,即使设备处于静音状态,它也会播放声音。这是我正在使用的代码:
var audioPlayer = AVAudioPlayer()
然后在 View 中加载:
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
var error:NSError?
var beepOne = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("menu", ofType: "wav")!)
audioPlayer = AVAudioPlayer(contentsOfURL: beepOne, error: &error)
audioPlayer.prepareToPlay()
当声音播放时:
audioPlayer.play()
当设备处于静音状态或切换到静音状态时,我需要做什么才能停止播放声音?也许在 audioPlayer.play()
之前有一个 if 语句来检测设备是否处于静音状态?
最佳答案
发现问题所在,在第二行和第三行代码中:
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
我必须将 AVAudioSessionCategoryPlayback
更改为 AVAudioSessionCategoryAmbient
希望这对可能遇到同样问题的其他人有所帮助:)
关于ios - Swift - 当设备处于静音状态时,AVAudioPlayer 仍在播放声音吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28496758/