【发布时间】:2019-01-04 22:29:21
【问题描述】:
我目前正在开发一款游戏,该游戏由三个视图控制器组成:GameIntroViewControllerGameViewControllerGameOverViewController。
每个视图控制器都通过推送segue 链接。使用以下方法...
GameIntroViewController 按钮 -> GameViewController 以编程方式 -> GameOverViewController 按钮 -> GameViewController 等等....
我目前已将应用程序设置为开始在我的GameIntroViewController 中播放背景音乐,这很好用,但是音乐令人惊讶地随着每个 segue 重新开始,虽然这不是问题我想要音乐不要重新开始,而是继续,就好像它是一首没有被segues打断的曲目。
最终我需要在显示GameOverViewController 时暂停或停止音乐,因为音乐与随后播放的任何视频广告发生冲突。有人知道最好的方法吗?
想想如果GameIntroViewController 和GameViewController 上有不同的音乐,然后GameOverViewController 上没有音乐,那就太好了。有什么想法可以在不播放音乐的情况下实现这一点吗?
到目前为止,这是我的代码.....(全部在GameIntroViewController)
import AVFoundation
class GameIntroViewController: UIViewController {
var backgroundMusicPlayer:AVAudioPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillLayoutSubviews() {
var bgMusicURL:NSURL = NSBundle.mainBundle().URLForResource("bgMusic", withExtension: "m4a")!
backgroundMusicPlayer = AVAudioPlayer(contentsOfURL: bgMusicURL, error: nil)
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
}
感谢任何可以提供帮助的人...
【问题讨论】:
标签: ios swift avfoundation playback