音频完成后,更改按钮Xcode

问题描述 投票:0回答:2

我正在使用Swift使用Xcode制作应用程序,并且我的应用程序中有mp3文件,并且在其中添加了播放和暂停按钮,但是我的问题是,当我单击播放按钮时,显示了暂停按钮,但是当mp3文件完成播放时,仍然暂停按钮显示,我希望它在音频完成后自动重新变为播放按钮。这是我的代码

 @IBAction func buttonPressed(_ sender: UIButton) {
    if player.isPlaying {

        player.stop()
        sender.setImage(UIImage(named:"play.png"),for: .normal)
    } else {
        player.play()
        sender.setImage(UIImage(named:"pause.png"),for: .normal)
    }


}

谢谢

ios swift xcode uibutton avaudioplayer
2个回答
0
投票

将此添加到viewDidLoad

NotificationCenter.default.addObserver(self, selector: #selector(playerDidFinishPlaying(_:)) , name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: nil)

然后

@objc func playerDidFinishPlaying( _ note: Notification) {
   yourBtn.setImage(UIImage(named:"play.png"),for: .normal)
}

0
投票

您需要在类中实现AVAudioPlayerDelegate并使用此功能:

func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
    button.setImage(UIImage(named:"pause.png"),for: .normal)
}
© www.soinside.com 2019 - 2024. All rights reserved.