В настоящее время у меня есть игра, над которой я работаю, игра состоит из трех диспетчеров вида: GameIntroViewController
GameViewController
GameOverViewController
.swift - фоновая музыка и segues
Каждый контроллер вида соединен нажатием segue
. используя следующий метод ...
GameIntroViewController
кнопка ->GameViewController
программно ->GameOverViewController
кнопка ->GameViewController
и так далее ....
В настоящее время я создал приложение, чтобы начать воспроизведение фоновой музыки в мой GameIntroViewController
, это хорошо работает, однако музыка неожиданно начинается с каждого сеанса, в то время как это не проблема, я бы хотел, чтобы музыка не перезапустилась, но продолжайте, как если бы она была одним треком, непрерывным с помощью 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()
}
Спасибо всем, кто может помочь ...
Спасибо, что сработал! Знаете ли вы, что я могу добавить в свой GameOverViewController, чтобы автоматически отключить фоновая музыка? –
на viewWillAppear поместите код: backgroundMusicPlayer.pause() ИЛИ (to mute) do: backgroundMusicPlayer.volume = 0 – zrubenst