音频 - 向前跳跃30秒

时间:2015-03-08 22:15:30

标签: ios swift audio avaudioplayer

我有一个播放从Core Date检索到的音频的音频播放器。 Play&暂停工作。我正在尝试实现一个'Jump Forward 30 Seconds'按钮,并寻求关于我将如何进行的任何指示。

我的“播放/暂停”按钮的代码

@IBAction func playPressed(sender: AnyObject) { 

    let play = UIImage(named: "play")
    let pause = UIImage(named: "pause")
    if audioPlayer.playing {
        pauseAudioPlayer()
        audioPlayer.playing ? "\(playButton.setImage( pause, forState: UIControlState.Normal))" : "\(playButton.setImage(play , forState: UIControlState.Normal))"

    }else{
        playAudio()
        audioPlayer.playing ? "\(playButton.setImage( pause, forState: UIControlState.Normal))" : "\(playButton.setImage(play , forState: UIControlState.Normal))"
    }

}

4 个答案:

答案 0 :(得分:2)

对于iOS,我们需要使用CMTime。只有CMTime可以送到播放器,以便从当前位置向前或向后跳跃。现在,如果播放器正在运行任何流,则当前流位置可以使用播放器的currentTime属性。

祝你好运。如果您对此有任何疑问,请与我们联系。

答案 1 :(得分:2)

swift 3

player.play()
player.currentTime=60

单位是第二位 根本不需要停止

答案 2 :(得分:1)

这样的事情怎么样?

@IBAction func skipForward30SecondsPressed(sender: AnyObject) {

    var currentTime = audioPlayer.currentTime

    audioPlayer.stop()

    audioPlayer.playAtTime(currentTime + 30.0) // plus 30 seconds
}

答案 3 :(得分:1)

获取玩家的当前时间,并将当前时间加30秒。然后让玩家在当时玩(当前时间+30)。

var currentTime  = player.currentTime
player.playAtTime(currentTime + 30.0)

如果您想使用滑块更改当前时间,可以使用player.currentTime = TimeInterval(slider.value) * player.duration来获取它。