要发现AVAudioPlayer
对象是否正在播放,我只需使用isPlaying
属性:
if audioPlayer.isPlaying {
// ...
}
如果音频播放器没有播放,我如何区分它被暂停和被停止?
我不能将currentTime
属性用于此目的。这是因为如果我调用stop()
,那么当前时间将保持在调用时的任何时间,这与调用pause()
时的行为相同。
答案 0 :(得分:1)
由this link创建:
if ((player.rate != 0) && (player.error == nil)) {
// player is playing
}else {
//notplaying
}
答案 1 :(得分:0)
我认为这就像在视图控制器类中保持BOOL属性一样简单,在点击播放/恢复按钮时设置为YES,在按下停止/暂停按钮时设置为NO。
答案 2 :(得分:0)
只需添加Bool变量,然后检查是否已暂停音频即可。
例如:
var isAudioPaused = false//Add this on top
//Pause audio
func pauseAudio() {
if isAudioPaused == false {
if audioPlayer?.isPlaying == true {//Check is audio playing
audioPlayer?.pause()//Pause audio
isAudioPaused = true
btnPauseAudio.setTitle("Play Audio", for: .normal)
}
} else {
audioPlayer?.play()//Play audio
isAudioPaused = false
btnPauseAudio.setTitle("Pause Audio", for: .normal)
}
}