kar*_*.io 3 android android-videoview android-mediacodec
我正在尝试使用 Android 实现流畅的视频清理VideoView。的seekTo方法MediaPlayer并不完全是我想要的。它并不完全寻求我传入的毫秒数,它实际上是从/跳转到最近的位置,而不是我想要的确切位置。框架也显示出很大的差距。不是毫秒的确切帧。
我四处寻找,发现SEEK_CLOSEST_SYNC只能寻找最近的同步帧而不是 EXACT。这取决于视频的生成方式。我怎样才能实现平滑擦洗并寻求准确位置即使视频暂停或播放。是否可以通过 AndroidVideoView或MediaPlayer类或我应该改变方法?
这不是一个直接回答的问题。我花了一个月的时间自己研究和实施它。
实现这一点的唯一方法是使用MediaCodec。
你可以看一下这个项目,它使用完全清理MediaCodec。我在该项目中遇到的唯一问题是加载缓冲区并将其显示在表面上需要时间,大约需要 0.5 秒。
你也可以看看Grafica,尤其是MoviePlayer类。另一个来源是BigFlake网站。
我最终做的是创建我自己的实现,MediaCodec因为它们都没有提供我正在寻找的东西,因为我正在构建一个高尔夫分析器,我需要(实时)精确(逐帧)擦洗视频。
您还可以查看我提出的与此类似的问题,我在其中添加了很多有关如何实现此目标的信息。虽然这个问题更多地是关于逐帧播放视频,但我认为其中包含有价值的信息。