2015-04-08 138 views
1

我是播放音頻聲音的新手。我陷入了我想要的問題當我的應用程序正在播放音樂聲音時將其他應用程序聲音靜音,並在我停止應用程序的聲音時恢復回到。我搜索了很多,但我無法得到任何解決方案。當我的應用程序正在播放聲音時將其他應用程序的聲音靜音ios

下面的代碼是用於播放音頻的聲音: -

var url:NSURL = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("\(soundFile)", ofType: "mp3")!)! 
let audioPlayer1 = AVAudioPlayer(contentsOfURL: url, error: nil) 
audioPlayer1!.numberOfLoops = -1 

if(audioPlayer1 == nil) 
{ 
    println("error in playing") 
} 
else 
{ 
    audioPlayer1!.play() 
} 
+0

請你上傳一些代碼。 –

+0

@chiragshah請找到更新的代碼。 –

+0

嘗試用AVAudioSession來靜音其他應用程序聲音。 –

回答

1

您需要配置AVAudioSession類別

AVAudioSession類參考:http://goo.gl/rh7CX7。尋找最適合您的應用的產品。你只需要在你的代碼中設置一次(確保它被調用)。

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategorySoloAmbient, error: nil) // AVAudioSessionCategorySoloAmbient is default 
AVAudioSession.sharedInstance().setActive(true, error: nil) 

如果沒有幫助,請提供更多信息(哪個應用不是靜音?您嘗試過什麼?)。

+0

有了這個不同的類別,我將能夠檢測到其他應用程序播放的聲音,但是是否可以使其聲音靜音? –

+0

有不同的選項,覆蓋其他應用程序的聲音,所以找到選項 –

+1

'AVAudioSessionCategorySoloAmbient':_默認情況下,使用此類別意味着你的應用程序的音頻是不可混合的 - 激活你的會話將中斷任何其他音頻會話也是不可混合的。如果你的音樂應用程序正在運行,它會停止它(當第一個聲音播放?)。確保您沒有沉默(_您的音頻通過屏幕鎖定和Silent開關(稱爲iPhone上的Ring/Silent開關)_)靜音。試試看看這個參數是否適合你。 – lchamp

相關問題