gpt4 book ai didi

当屏幕快速关闭时,IOS 音频停止播放

转载 作者:搜寻专家 更新时间:2023-10-31 08:07:10 24 4
gpt4 key购买 nike

嗨,我是 IOS 和 Swift 的新手。

我正在制作一个应用程序,其中包含两个在第二个 ViewController 上播放的音频文件。我使用导航 Controller 和 push 转到第二个 ViewController。当我回到第一个 ViewController 时发现,音频不会停止,我使用了这段代码:

override func viewWillDisappear(animated: Bool) {
audioPlaying.stop()
}

现在返回时音频会停止,但如果屏幕关闭意味着应用程序被锁定或处于后台时音频也会停止,我怎样才能摆脱这个?

更多代码:

var audioPlaying = AVAudioPlayer()

override func viewDidLoad() {
super.viewDidLoad()
audioPlaying = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("audioOne", ofType: "mp3")!), error: nil)
}

override func viewWillDisappear(animated: Bool) {
audioPlaying.stop()
}
@IBAction func playPause(sender: AnyObject) {
if buttonLabelChange == true {
let image = UIImage(named: "btn_pause.png") as UIImage?
playPauseButton.setBackgroundImage(image, forState: UIControlState.Normal)
buttonLabelChange = false
audioPlaying.play()
}else{
let image = UIImage(named: "btn_play.png") as UIImage?
playPauseButton.setBackgroundImage(image, forState: UIControlState.Normal)
buttonLabelChange = true
audioPlaying.stop()
}
}

@IBAction func sliderAction(sender: AnyObject) {
audioPlaying.stop()
audioPlaying.currentTime = NSTimeInterval(sliderOutlet.value)
audioPlaying.prepareToPlay()
audioPlaying.play()
let image = UIImage(named: "btn_pause.png") as UIImage?
playPauseButton.setBackgroundImage(image, forState: UIControlState.Normal)
buttonLabelChange = false
}

最佳答案

您是否尝试过使用 isMovingFromParentViewController 方法?

该方法在弹出 View 时返回 true,但在手机锁定时返回 false

override func viewWillDisappear(animated: Bool) {

if self.isMovingFromParentViewController()
{
audioPlaying.stop()
}
}

关于当屏幕快速关闭时,IOS 音频停止播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29507162/

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