Фоновая музыка играет дважды

Когда представление загружается в мое меню (menuViewController), запускается фоновая музыка (которая работает). Затем, когда я нажимаю "Пуск" и захожу в свою игру (GameViewController) и возвращаюсь в меню (menuViewController), он начинает играть дважды.

Вот мой viewDidLoad()

override func viewDidLoad() {
    super.viewDidLoad()

    if x == false{
        setButtons()

        // get path of audio file

        let myFilePathString = NSBundle.mainBundle().pathForResource("Background Music Loop (Free to Use)", ofType: "mp3")
        if let myFilePathString = myFilePathString {

            let myFilePathURL = NSURL(fileURLWithPath: myFilePathString)
            do { try myAudioPlayer = AVAudioPlayer(contentsOfURL: myFilePathURL)
                myAudioPlayer.volume = 0.4
                myAudioPlayer.prepareToPlay()
                myAudioPlayer.play()
                myAudioPlayer.numberOfLoops = -1
            }catch{
                print("error")
            }
        }
    }
}

Я попытался создать экземпляр menuViewController, а затем использовать этот экземпляр вместо автоматического создания нового (что, я думаю, не сработало)

Это в моем GameViewController

@IBAction func goToMenu(sender: AnyObject) {
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyboard.instantiateViewControllerWithIdentifier("menuViewController")
    self.presentViewController(vc, animated: true, completion: nil)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
    if segue.identifier == "gameToMenu" {
        let destinationController = segue.destinationViewController as! menuViewController
            destinationController.x = true
    }

Я также получаю сообщение об ошибке:

"Предупреждение: Попытайтесь представить Ninja.menuViewController: 0x7fdad4cdbf20 на Ninja.GameViewController: 0x7fdad1c1d7a0, чье представление не находится в иерархии окон!"

0 ответов

Другие вопросы по тегам