使用AVPlayer Swift 2进行滑块控制

时间:2016-02-26 21:36:49

标签: swift parse-platform avaudioplayer avplayer uislider

我正在使用Parse将音频流式传输到我的iOS设备,我想添加一个滑块,用于监视和更改正在播放的音频的进度。

我必须使用AVPlayer流式传输音频,有没有办法用滑块更改音轨的进度,或者我必须将其更改为AVAudioPlayer格式(我不知道该怎么做) ?

let audioQuery = PFQuery(className: "Audio")
audioQuery.getObjectInBackgroundWithId(IDArray[selectedPodcast], block: {

    (object : PFObject?, error : NSError?) -> Void in
    if let audioFileURLTemp = object?.objectForKey("AudioFile")?.url as String! {

        audioURL = audioFileURLTemp

        audioPlayer = AVPlayer(URL: NSURL(string: audioFileURLTemp)!)
        audioPlayer.play()

    }

})

这是我用来传输音频的代码

谢谢!

1 个答案:

答案 0 :(得分:0)

您必须使用:addPeriodicTimeObserverForInterval:queue:usingBlock:

我使用以下块来播放电影:

let sliderWidth = CGRectGetWidth(movieSlider.bounds)
let interval = Double(movieSelected.original.duration.value * 1000)/Double(movieSelected.original.duration.timescale) / Double(sliderWidth)
player.addPeriodicTimeObserverForInterval(CMTimeMakeWithSeconds(interval/1000, 1000), queue: nil) { (time: CMTime) -> Void in
   self.movieSlider.value = Float(time.value) / Float(time.timescale) / Float(self.movieSelected.original.duration.value) * Float(self.movieSelected.original.duration.timescale)
}