我使用 AVPlayer 来实现自定义播放器。
一些视频 playerItem 提供了当前时间和错误的持续时间。搜索时间后使用幻灯片多次搜索时间。调用API
寻零时,有些视频无法精确寻到。
[self.player seekToTime:CMTimeMakeWithSeconds(time, NSEC_PER_SEC)
toleranceBefore:CMTimeMake(1, 1)
toleranceAfter:CMTimeMake(1, 1)
completionHandler:^(BOOL finished) {
if (finished) {
IVCLogV(@"seek finish!");
}
else
{
IVCLogV(@"seek interrupted");
}
if (completionHandle) {
completionHandle(finished);
}
}];
我根据 mediaTime.timeScale 更改代码。现在我发现视频流在几次播放后改变了视频持续时间和当前时间。