我怎样才能连续播放背景音乐,而使用swift切换到不同的视图?

一般来说,我对于快速和编码都很新颖。 我正在做一个游戏,我已经添加了一些背景音乐,这一切工作正常。 我甚至想到如何在切换到不同的视图时连续播放音乐,但是每当我回到“主菜单”视图,我告诉游戏开始播放背景音乐时,重新开始。 我想要做的是开始播放时,用户启动应用程序,并保持循环,直到用户closures应用程序。 我用这一点的代码来获取背景音乐开始:

var backgroundMusicPlayer: AVAudioPlayer! 

func playBackgroundMusic(filename:String){let url = NSBundle.mainBundle()。URLForResource(filename,withExtension:nil)if(url == nil){println(“Could not find file:(filename)”)return}

 var error: NSError? = nil backgroundMusicPlayer = AVAudioPlayer(contentsOfURL: url, error: &error) if backgroundMusicPlayer == nil { println("Could not create audio player: \(error!)") return } backgroundMusicPlayer.numberOfLoops = -1 backgroundMusicPlayer.prepareToPlay() backgroundMusicPlayer.play() 

}

而且我将这些代码放在我的Home View Controller(这是人们在打开应用程序时看到的第一个屏幕)

 var player = AVAudioPlayer() if player.playing { player.play() } else { playBackgroundMusic("BackgroundMusic.m4a") } 

现在我通过这个:如果音乐正在播放,它会继续播放,否则它会再次播放音乐。 但是现在,即使音乐在我来自的视图上播放,它也只是开始播放音乐。 我在其他2个视图中使用了这一点代码,使音乐连续播放,并且工作正常:

 func resumeBackgroundMusic() { if let player = backgroundMusicPlayer { if !player.playing { player.play() } } 

}

你可以从AppDelegate开始和停止你的音乐…最好的方法是创build一个MusicPlayer类,在AppDelegate中实例化它,并调用start和stop方法…

你有足够的经验来写这样的东西吗?

还是应该帮你?