gpt4 book ai didi

ios - 当我改变v​​iewController时viewWillDisappear出现错误/停止播放声音

转载 作者:行者123 更新时间:2023-12-03 02:32:38 31 4
gpt4 key购买 nike

我有一些ViewCotroller,在其中点击了一个按钮-正在播放一些音频文件。我想在更改/关闭此ViewController时停止播放音频。我该怎么做?

我尝试向viewWillDisappear添加一些方法,如果我不点击任何按钮,它将崩溃。但是,如果我点击一些按钮-它将正常工作。 🙁

import UIKit
import AVFoundation

class BossViewController: UIViewController {

var audioPlayer = AVAudioPlayer()

override func viewDidLoad() {
super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

//MARK: - Stop sound when we're change/close this viewController

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)

audioPlayer.stop()
}

这是我的按钮的外观:
@IBAction func boss1(_ sender: AnyObject) {

let audioFile = NSURL(fileURLWithPath: Bundle.main.path(forResource: "shamp", ofType: "mp3")!)
do {
audioPlayer = try AVAudioPlayer(contentsOf: audioFile as URL)
audioPlayer.prepareToPlay()
} catch {
print("Problem in getting File")
}

audioPlayer.play()
}

最佳答案

您可以检查音频播放器是否正在播放(如@SandeepBhandari所述),也可以使用Bool变量来跟踪用户是否轻按了按钮:

var buttonTapped = false

@IBAction func boss1(_ sender: AnyObject) {
...
buttonTapped = true
}

然后,您可以在 viewWillDisappear(_ animated: Bool)方法中检查变量:
override func viewWillDisappear(_ animated: Bool) {
if buttonTapped {
audioPlayer.stop()
}
}

关于ios - 当我改变v​​iewController时viewWillDisappear出现错误/停止播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47961899/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com