视频视图查找不一致

时间:2018-12-30 10:38:33

标签: android android-videoview frame-rate

我有一个视频,它以每秒60帧或每秒30帧的速度录制。现在,我在视频视图中观看该视频。我希望视频在每次跳过按钮点击时逐帧跳过。

问题是seek方法寻找最近的关键帧并移动到该位置。因此,有时当我跳过帧时,由于这种情况,它表现出不一致的行为。

那我该如何实现呢?

这是我用来搜索视频的代码:

    int currentPosition = videoView.getCurrentPosition();

    double increment = 1000/60;

    currentPosition += Math.round(increment);

    if (videoLoader.canSeekForward()) {
           videoLoader.seekTo(currentPosition);
    }            

因此,方法videoView.getCurrentPosition()有时返回错误的值。

1 个答案:

答案 0 :(得分:0)

我通过用ExoPlayer替换视频视图解决了这个问题。 ExoPlayer有一个称为setSeekParameters的方法。只需使用带有以下参数的方法即可:

setSeekParameters(SeekParameters.EXACT)

然后seekto方法将搜索精确的帧,而不仅仅是最近的关键帧。