静音button不会使AVAudioPlayer静音

我需要循环播放我的iPhone应用程序中的.caf文件。

AVAudioPlayer看起来很有前途。 但是有一个问题。 即使按下iPhone上的静音button,它也不会停止或静音。

而且我明白,没有办法以编程方式找出在iOS 5中是否按下了静音button。

所以,我需要知道的可能是关于AVAudioPlayer或AVAudioSession的一些属性。 或者,也许我可能需要考虑其他库循环播放我的.caf文件。

任何想法?

我意识到这是因为我有这行代码

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil]; 

然后我改变了

 [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil]; 

然后静音button将工作,并停止我的AVAudioPlayer …

我的2分钱快3.0:

 let sharedSession = AVAudioSession.sharedInstance() do { try sharedSession.setCategory(AVAudioSessionCategoryAmbient) } catch _{ return false } 

或更简单:

 try? sharedSession.setCategory(AVAudioSessionCategoryAmbient)