【发布时间】:2018-12-30 23:59:55
【问题描述】:
我有一个以每秒 60 帧或每秒 30 帧的速度录制的视频。现在我在视频视图中查看该视频。我希望视频在每次点击跳过按钮时逐帧跳过。
问题在于 seek to 方法会寻找最近的关键帧并移动到该位置。因此,有时当我跳过帧时,它会因此显示不一致的行为。
那么我该如何实现呢?
这是我用来寻找视频视图的代码:
int currentPosition = videoView.getCurrentPosition();
double increment = 1000/60;
currentPosition += Math.round(increment);
if (videoLoader.canSeekForward()) {
videoLoader.seekTo(currentPosition);
}
所以videoView.getCurrentPosition()方法有时会返回错误的值。
【问题讨论】:
-
我看到您在增量参数中除以 60。为什么不将帧速率传递给您的方法并除以它呢?含义,双倍增量 = 1000/frameRate
-
我可以这样做,但这不会导致问题。问题是寻求特定的框架。我使用以 30fps 录制的视频测试了代码,但仍然存在问题。
标签: android android-videoview frame-rate