SKAction playSoundFileNamed停止背景音乐

我希望我的SpriteKit游戏不会中断用户监听的背景音乐(Music.app或Radio应用程序)。

一切都很好,直到执行到这一行:

 sSharedShootSoundAction = [SKAction playSoundFileNamed:@"plane_shoot.aiff" waitForCompletion:NO]; 

在此行后台音乐停止。 如何避免这一点?

我自己也遇到过这个问题。 仅供参考,我的解决scheme是迅速的,所以只要将它转换为Objective C即可。

对我来说,我的解决scheme包括两部分 首先,我必须在场景文件的didMoveToView函数中初始化我的SoundAction SKAction。 所以你的场景文件应该是这样的:

 import SpriteKit import GameKit import AVFoundation class GameScene: SKScene, SKPhysicsContactDelegate { var sSharedShootSoundAction: SKAction = SKAction() override func didMoveToView(view: SKView) { /* Setup your scene here */ sSharedShootSoundAction = SKAction.playSoundFileNamed("plane_shoot.aiff", waitForCompletion: false) } } 

然后在您的AppDelegate文件中,您需要将以下代码行放在应用程序didFinishLaunchingWithOptions函数中。 (不要忘记在你的APPDELEGATE导入AVFOUNDATION)。 所以你的应用程序委托方法应该像这样:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. // INSERT THIS LINE BELOW. AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil) return true } 

希望这能为你解决它,就像它为我做的那样! 让我知道如果没有。