私は音楽をミュートすることができるアプリで機能を作りました。私はそこにスイッチを入れて、オンとオフを切り替えることができます。しかし、スイッチは、アプリケーションで正常に動作するとき、私はコントローラを閉じて、私はそれがまだ残っている方法が表示されますが、それをプルしますが、アプリケーションを閉じて、スイッチをバックアップすると、それはまだ音楽を演奏しています。これは私のコードであり、私は写真を添付します。ユーザーのデフォルトでデータを保存する
import Foundation
import UIKit
import SpriteKit
import AVFoundation
var bombSoundEffect: AVAudioPlayer!
var Ghost = SKSpriteNode()
class SecondViewController: UIViewController {
var sw = false
@IBOutlet var mySwitch: UISwitch!
@IBAction func switchpressed(_ sender: AnyObject) {
let defaults = UserDefaults.standard
if mySwitch.isOn{
defaults.set(true, forKey: "SwitchState")
if bombSoundEffect != nil {
bombSoundEffect.stop()
bombSoundEffect = nil
}
}
else{
defaults.set(false, forKey: "SwitchState")
let path = Bundle.main.path(forResource: "newmusic.wav", ofType:nil)!
let url = URL(fileURLWithPath: path)
do {
let sound = try AVAudioPlayer(contentsOf: url)
bombSoundEffect = sound
sound.numberOfLoops = -1
sound.play()
} catch {
// couldn't load file :(
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
super.viewDidLoad()
let defaults = UserDefaults.standard
if (defaults.object(forKey: "SwitchState") != nil) {
mySwitch.isOn = defaults.bool(forKey: "SwitchState")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
}
、ここで私が質問をしてください上記の言ったことを理解していなかった場合は、画像 です。
あなたのアプリケーションデリゲートで音楽を再生していますか、このビューコントローラのすべてのコードですか? – WMios