我有以下代码:AVPlayer seekToTime:落后不工作
AVPlayerItem *currentItem = [AVPlayerItem playerItemWithURL:soundURL];
[self.audioPlayer replaceCurrentItemWithPlayerItem:currentItem];
[self.audioPlayer play];
其中soundURL
是remoteURL
。它工作正常。 AVPlayer
完美播放音乐。我有一个进度条,我正在根据玩家的当前时间进行更新。
一切工作正常。我的问题是,当我拖动进度栏向前audioplayer
从新的位置开始,但如果我拖动progressbar
它不会从新的位置开始,实际上它从以前的位置恢复。这里是我的进度条拖动启动和停止代码:
- (IBAction)progressBarDraggingStart:(id)sender
{
if (self.audioPlayer.rate != 0.0)
{
[self.audioPlayer pause];
}
}
- (IBAction)progressBarDraggindStop:(id)sender
{
CMTime newTime = CMTimeMakeWithSeconds(self.progressBar.value, 1);
[self.audioPlayer seekToTime:newTime];
[self.audioPlayer play];
}
谁能帮助我解决这个问题?
你试过使用'seekToTime:completionHandler:'或'seekToTime:toleranceBefore:toleranceAfter:'? – Corey
@corey:是的,我尝试了他们两个,但没有运气。 completionHandler完成标志返回false。你知道如何继续等待,直到完成处理程序中的完成标志变为真? –