在iOS中如何跟踪音频轨道进度?

3
我正在开发一个播客应用,该应用从解析的RSS源中获取其mp3 URL。我正在使用AVPlayer播放文件,没有任何问题,但是我想找出如何跟踪曲目的进度,以进行各种操作(更新进度滑块的值,保存曲目停止时的最后位置,以便再次点击播放不会重新开始音频...)。
这是我目前的情况,通过我的研究,我不确定该如何完成此操作。如果有iTunes:Duration(例如01:24:20),则RSS提供给我。
    @IBAction func playPauseButtonPressed(sender: UIButton) {

    if playPauseButton.titleLabel!.text == "Play" {
        playPauseButton.setTitle("Pause", forState: .Normal)
        let playerItem = AVPlayerItem(URL: trackURL!)
        audioPlayer = AVPlayer(playerItem: playerItem)
        audioPlayer.rate = 1.0
        audioPlayer.play()
    } else {
        playPauseButton.setTitle("Play", forState: .Normal)
        audioPlayer.pause()
    }
}
1个回答

1
假设您已经正确声明和限制了进度视图:
let total = audioPlayer.duration
let f = audioPlayer.currentTime / total;
let w = view.frame.width * CGFloat(f)

然后使用w作为您视图的宽度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接