2012-02-19 81 views
10

我需要在我的iPhone应用程序中循环播放.caf文件。静音按钮不会静音AVAudioPlayer

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

而且据我所知,就没有以编程方式找出静音按钮是否按下未在iOS中5

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

有什么想法?

回答

23

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

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

然后我把它改为

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

然后静音按钮将工作和停止我的AVAudioPlayer ...

+0

正是我需要的! – rockstarberlin 2013-03-05 01:51:28

+0

很高兴帮助。 :) – 2013-03-05 01:56:08

0

我的2分为swift 3.0:

let sharedSession = AVAudioSession.sharedInstance() 

do { 
    try sharedSession.setCategory(AVAudioSessionCategoryAmbient) 
} catch _{ 
    return false 
} 

或更简单:

try? sharedSession.setCategory(AVAudioSessionCategoryAmbient)