我使用解析传输音频到我的iOS设备,我想补充一个滑块,将监测和改变音频的进步正在播放。滑块控制与AVPlayer斯威夫特2
我必须使用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()
}
})
这是我使用的流音频
感谢代码!
你所说的变革也意味着进展如何?你的意思是你希望能够使用滑块作为擦洗器来看音轨的某些部分?如果是这样的话,AVPlayer有一个非常准确的'seekToTime()'。你可以将它连接到你的UISlider – MikeG
是的,那正是我需要的,我将如何实现它?如果你不介意给我看一些示例代码? – user2976917
我可以发表一个答案,但我现在没有时间,非常抱歉。这是要点:在故事板或编程创建一个UISlider。如果以编程方式制作滑块,请将滑块连接到@IBAction或“选择器”。只要移动滑块,就会调用选择器(或IBAction)。因此,在选择器内部,您将执行audioPlayer.seekToTime(//从0到songDuration范围内的滑块输入值)''。这样,当滑块移动时,audioPlayer将跳转到滑块所在的时间。注意:'seekToTime()'将CMTime作为参数,因此您必须将#转换为CMTime。 – MikeG