我正在构建一个播客播放应用程序,它从已解析的 RSS 提要中获取其 mp3 URL。我正在使用 AVPlayer 毫无问题地播放文件,但我想弄清楚如何出于各种原因跟踪轨道的进度(更新进度 slider 的值,保存轨道的最后一个点当它停止时,点击播放不会重新启动音频...)
这就是我目前所了解的,通过我的研究,我只是不确定如何去做。如果有帮助,RSS 提要确实会给我 iTunes:Duration(例如 01:24:20)。
@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()
}
}
最佳答案
假设您已经正确地声明并约束了一个进度 View :`
let total = audioPlayer.duration
let f = audioPlayer.currentTime / total;
let w = view.frame.width * CGFloat(f)
然后使用 w
作为 View 的宽度。
关于ios - 如何跟踪 iOS 中的音轨进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34111238/