ただいま単調なゲームを作っているのですがそれにBGMを流そうと思っています。
それでAVFoundationを使ってAppDelegateの
applicationDidBecomeActiveにaudioPlayer.play()を、
applicationWillResignActiveにaudioPlayer.stop()を書きました。
BGMは一つしか使う予定はないのでこれでうまくいったのですが、ムービーを流す時だけBGMを止めたいと思っています。
ムービーの画面になってaudioPlayer.stop()をしてもAppDelegateで流れた音楽が止まらないのですがどうしたらいいのでしょうか。
var audioPlayer : AVAudioPlayer! func applicationDidBecomeActive(_ application: UIApplication) { do { // 音楽ファイルが"sample.mp3"の場合 let filePath = Bundle.main.path(forResource: "sample", ofType: "mp3") let audioPath = NSURL(fileURLWithPath: filePath!) audioPlayer = try AVAudioPlayer(contentsOf: audioPath as URL) audioPlayer.prepareToPlay() audioPlayer?.numberOfLoops = -1 audioPlayer.play() // 音楽の再生 } catch { print("Error") } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/06 22:25
2017/01/09 23:52