2012-02-19 157 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)