2016-12-28 87 views
3

我正在用swift和spritekit構建遊戲。我想在代碼的某個部分播放聲音。目前我正在使用AVAudioPlayer。我目前正在使用這種方法。Swift - 同時播放音頻文件和iTunes音樂

player = try AVAudioPlayer(contentsOfURL: url) 
player.prepareToPlay() 
player.play() 

聲音能夠正常播放,但如果我要通過iTunes來聽音樂的同時播放聲音我的iTunes音樂停止,播放聲音。過去我玩過其他人的遊戲,在遊戲中播放音效並且不會影響已經從另一個應用播放的音樂。能否解釋這是如何實現的。謝謝一堆。

回答

2

您需要將音頻會話設置爲使用允許混音的類別。默認情況下,它使用不可混合的AVAudioSessionCategorySoloAmbient

我不知道哪個類別適合您的需求,但AVAudioSessionCategoryAmbient允許混合。

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)