![](/img/trans.png)
[英]How to display Pause Button if user click the Play button in AVAudioPlayer in ios
[英]Change play button to pause on click
我正在使用 Xcode 11 Swift 构建应用程序,我想在我的应用程序中添加 mp3 文件,到目前为止我已经完成了
但我只想显示一个按钮,比如当用户点击播放按钮时应该显示暂停按钮,反之亦然,我怎样才能得到这个? 这是我播放 mp3 文件的代码
@IBAction func Play(_sender: Any) {
player.play()
}
@IBAction func Stop(_sender: Any) {
player.stop()
}
let audioPlayer = Bundle.main.path(forResource: "chalisa", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPlayer!)) as URL
您可以在一个函数中完成:
// Note: you should change sender type
@IBAction func buttonPressed(_ sender: UIButton) {
if player.isPlaying {
player.stop()
sender.setImage(yourPlayImage, for: .normal)
} else {
player.play()
sender.setImage(yourPauseImage, for: .normal)
}
}
您应该保存播放器的状态(或者询问它是否可以接受)。 然后根据状态更新按钮:
enum PlayerState {
case playing
case stopped
mutating func toggle() {
switch self {
case .playing: self = .stopped
case .stopped: self = .playing
}
}
}
var state = PlayerState.stopped {
didSet {
switch state {
case .playing: player.play()
case .stopped: player.stop()
}
}
}
@IBAction func buttonDidTouch(_ sender: Any) { state.toggle() }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.