私のアプリを起動すると、バックグラウンドミュージックが再生を開始します。しかし、私はスタートを押して別のビューコントローラーでゲームをプレイし、メニュー(最初のビューコントローラー)に戻ると、同じ曲がまだ再生されている間(結果=同時に2回聞く)、曲は再び始まります。とてもうるさい。これは私のviewDidLoad関数(おそらく私の問題がある)です。誰かが、最初にビューが読み込まれるときだけ、音楽を演奏する(説明するかコードを与えることによって)手伝ってもらえますか? VCが再びviewDidLoad()
メソッドを実行しますので、私のバックグラウンドミュージックが2回(同時に)再生されます
override func viewDidLoad() {
super.viewDidLoad()
// 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.play()
myAudioPlayer.numberOfLoops = -1
}catch{
print("error")
}
}
}
「メニューに戻る」と言えば、実際に元のメニューに戻るか、新しいメニューを作成してそのメニューに移動していますか? – dan
元のメニュー(ロードされたときに音楽を開始するビューコントローラー)に戻ります –