ios – Swift – 当设备处于静音状态时AVAudioPlayer仍在播放声音?

我正在制作一个相当基本的应用程序,并一直在探索使用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)

我不得不将AVAudioSessionCategoryPlayback更改为AVAudioSessionCategoryAmbient

希望这有助于其他可能遇到同样问题的人:)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...