2016-04-17 6 views
0

в gameScene.swift:
декларация:
работает, когда gameScene загружается первым, но проигрывается полсекунды и сразу же останавливается (без ошибок) при загрузке другой сцены, почему?

var backgroundMusic: SKAudioNode! 

в didMoveToView:

if let musicURL = NSBundle.mainBundle().URLForResource("Jalandhar", withExtension: "mp3") { 
      backgroundMusic = SKAudioNode(URL: musicURL) 
      addChild(backgroundMusic) 
     } 

ответ

1

я закончил с использованием AVAudioPlayer, чтобы обойти его, код может быть полезным:
объявить как собственность:

var audioPlayer: AVAudioPlayer! 

th en в функции:

let filePath = NSBundle.mainBundle().pathForResource("musicfile", ofType: "mp3") 
     let url = NSURL.fileURLWithPath(filePath!) 
     do { 
      audioPlayer = try AVAudioPlayer(contentsOfURL: url, fileTypeHint: nil) 
      audioPlayer.play()  } 
     catch { 
      print("music error") 
     }