当前位置: 首页 > 知识库问答 >
问题:

在Android系统中平滑擦洗视频

秦学林
2023-03-14

我正在尝试使用AndroidVideoView实现平滑的视频清理。MediaPlayerseekTo方法并不是我想要的。它并没有精确地寻找我传递的毫秒,它实际上是从/跳到最近的位置,而不是我想要的精确位置。此外,框架显示出较大的间隙。不是精确的毫秒帧。

我开始四处搜索,发现SEEK_CLOSEST_SYNC只能搜索最近的同步帧,而不是精确的同步帧。这取决于视频的生成方式。我如何才能实现平稳擦洗,并寻求准确的位置,即使视频暂停或播放。它是可能通过AndroidVideoViewMediaPlayer类或我应该改变的方法?

共有1个答案

卞博简
2023-03-14

这不是一个直截了当的问题。我自己花了一个月的时间研究和实施。

实现这一点的唯一方法是使用MediaCodec。

您可以查看这个项目,它使用MediaCodec进行精确擦洗。我在这个项目中遇到的唯一问题是加载缓冲区并在表面上显示它需要时间,大约0.5秒。

你也可以看看Grafica,尤其是MoviPlayer类。另一个来源是BigFlake网站。

我最终使用MediaCodec创建了自己的实现,因为它们都没有提供我想要的东西,因为我正在构建一个高尔夫分析器,我需要(实时)精确(每帧)的视频擦洗。

你也可以看看我问的一个类似的问题,在那里我添加了很多关于我是如何实现的信息。虽然这个问题更多的是关于每帧播放视频,但我认为其中有价值的信息。

 类似资料:
  • 我正在将Recyclerview与CardView一起使用我知道如何在列表视图上控制速度。但对于RecyclerView不是。 更新: 我用这个总结了吉尔的回答

  • 我使用javamail api发送邮件。首先,我尝试了gmail smtp服务器,一切正常。但现在我想使用自己的邮件服务器(通过cPanel)。但我的财产有问题。有人能帮我吗? 这是我的属性代码: 以下是cPanel的服务器信息: 用户名:blabllabla@blabla.com 密码:blablabla。 输出服务器:cpanel4.onofis.com SMTP:端口465 IMAP、POP

  • 我在做一个简单的应用程序。它只是有一个弹出屏幕,内向,概览,然后是带有图像按钮的主页面图像按钮将意图模块与图像。 给出错误的XML: Java:

  • 本文向大家介绍Android中实现水平滑动(横向滑动)ListView示例,包括了Android中实现水平滑动(横向滑动)ListView示例的使用技巧和注意事项,需要的朋友参考一下 水平的ListView-HorizontalListView的使用 Android中ListView默认的是竖直方向的滑动,由于项目的需求,需要ListView是水平滑动的。有很多的方式可以实现,但是比较好的一种方式

  • 本文向大家介绍Android平滑的加载项目,包括了Android平滑的加载项目的使用技巧和注意事项,需要的朋友参考一下 示例 如果您RecyclerView从网络中加载数据中的项目(通常是图像)或执行其他处理,这可能会花费大量时间,并且最终可能会在屏幕上显示项目,但未完全加载。为避免这种情况,您可以扩展现有LinearLayoutManager项以在屏幕上可见之前预加载许多项: