別のビューに変更するときに、バックグラウンドミュージックの再生を停止しようとしています。Swift:ビューを変更するときにバックグラウンドミュージックを停止する方法
ビューの変更があることを提供するたびに、私はただ、プレーヤーを停止するには、コードの下に書く音楽
import Foundation
import AVFoundation
class MusicHelper {
static let sharedHelper = MusicHelper()
var audioPlayer: AVAudioPlayer?
func playBackgroundMusic() {
let aSound = NSURL(fileURLWithPath: Bundle.main.path(forResource: "The Walking Dead", ofType: "mp3")!)
do {
audioPlayer = try AVAudioPlayer(contentsOf:aSound as URL)
audioPlayer!.numberOfLoops = -1
audioPlayer!.prepareToPlay()
audioPlayer!.play()
} catch {
print("Cannot play the file")
}
}
}
を再生するには、グローバル変数を持っている。そして、私はここにビューに音楽を読み込む
import UIKit
import SwiftGifOrigin
import AVFoundation
class ViewController: UIViewController {
var audioPlayer: AVAudioPlayer?
@IBOutlet weak var introGif: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Gif intro
self.introGif.image = UIImage.gifWithName("WalkingDeadIntro")
_ = try! Data(contentsOf: Bundle.main.url(forResource: "WalkingDeadIntro", withExtension: "gif")!)
//self.bottomImageView.image = UIImage.gif(data: imageData)
// Load background Music
MusicHelper.sharedHelper.playBackgroundMusic()
}
たとえば、viewWillDisappear()にMusicHelper.sharedHelper.stopBackgroundMusic()を追加すると何が問題になりますか? – Gruntcakes