2016-12-28 78 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)