我怎么知道AVAudioPlayer是否暂停?

时间:2016-09-28 10:31:34

标签: ios swift avfoundation

要发现AVAudioPlayer对象是否正在播放,我只需使用isPlaying属性:

if audioPlayer.isPlaying {
    // ...
}

如果音频播放器没有播放,我如何区分它被暂停和被停止?

我不能将currentTime属性用于此目的。这是因为如果我调用stop(),那么当前时间将保持在调用时的任何时间,这与调用pause()时的行为相同。

3 个答案:

答案 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)
    }
}