MediaPlayer SeekTo 不准确的解决方案

接上篇文章,最近做视频背景的游戏。

需要使用安卓的meidaplayer来播放视频,并跳转。

跳转时发现,有些视频可以跳到位置上,有些不行。

GG了好久,可以使用FFMPEG这个工具重新转一次。并加上关键帧即可。

果然能SeekTo到正确的位置上了。

以下是bat命令:

ffmpeg -i "h:/videos/in.mp4" -c:v libx264 -preset veryslow -crf 22 -x264opts   keyint=123:min-keyint=20 -c:a copy h:/videos/out.mp4

keyint=20应该是20帧一个关键.大家可以试一试。

可以直接下载哟。以下是懒人链接。自带new.bat改一改直接执行即可~

链接:http://pan.baidu.com/s/1hqnQi6C 密码:bxz6

时间: 2024-08-07 04:33:21

MediaPlayer SeekTo 不准确的解决方案的相关文章

jQuery ZeroClipboard中Flash定位不准确的解决方案

转自波斯马,原文地址<jQuery ZeroClipboard中Flash定位不准确的解决方案> jQuery ZeroClipboard支持在多种浏览器中复制内容到剪贴板,IE.Firefox.Chrome等等都不在话下.其本身作为jQuery的一个插件封装了Zero Clioborad,其实现原理就是在要点击的按钮或链接上覆盖一个透明的Flash,实际上用户点击的是Flash,复制到剪贴板也是通过此Flash实现的. 大家用的很Happy,但是我用的时候发现点击按钮没有反应,后来发现是Fl

Android MediaPlayer SeekTo 在 8.0 版本上优化说明

android使用 mediaPlayer 播放video视频过程中, 当用户退出当前播放,再从后台恢复播放时,需要跳转到之前退出的时间点继续播放.使用的方法基本都是 SeekTo 之前的时间点,但是经常遇到恢复播放时位置不准的问题,而且甚至有重头开始播放的现象.这个是因为SeekTo是回到上一时间点附近的关键帧导致的. 针对这个问题,在最新的android 8.0平台上,已经有了新的解决方案: SeekTo() 方法在android O 平台新增了一个多参数的方法: void seekTo(l

Timer计时不准确的解决方案 每次都重新调整,修正误差

http://stackoverflow.com/questions/29722838/system-timers-timer-steadily-increasing-the-interval 需要在计时器每次运行后,修正计时器的间隔 通过DateTime的Tick来处理 public class Meter { private Timer ReadingTime; private DateTime NextTickTimeWholeSeconds; public Meter() { DateT

[Android基础] VideoView

最早发布在 简书 ,是做项目过程中的笔记记录 资源 Android三种播放视频的方式 Android播放器框架分析之AwesomePlayer 视频网站真实地址解析 ( 这个是想测试在线视频时,发现视频src都不是真实的,顺便看看怎么解析,以后下载一些视频网站视频就简单了) 视频真实地址解析分析 优酷真是flv地址分析 视频播放原理: 系统会首先确定视频的格式,然后得到视频的编码..然后对编码进行解码,得到一帧一帧的图像,最后在画布上进行迅速更新,显然需要在独立的线程中完成,这时就需要使用sur

Android中使用SurfaceView+MediaPlayer+自定义的MediaController实现自定义的视屏播放器

效果图如下: (PS本来是要给大家穿gif动态图的,无奈太大了,没法上传) 功能实现:暂停,播放,快进,快退,全屏,退出全屏,等基本功能 实现的思路: 在主布局中放置一个SurfaceView,在SurfaceView中放置一个MediaPlayer ,在其下方自定义一个MediaController,不过也不能称之为MediaController,使用的是PupupWindow来实现的,在PupupWindow布局中放置几个textView,Button,最重要的使我们的SeekBar控件,创

MediaPlayer 状态机 API 详解 示例

简介 public class android.media.MediaPlayer extends Object implements VolumeAutomation 可能需要的权限: One may need to declare a corresponding(相应) WAKE_LOCK permission <uses-permission> element. <uses-permission android:name="android.permission.WAKE_

android中常见声音操作方式(Ringtone,SoundPool,MediaPlayer)小结

在Android开发中有时候需要用到播放声音操作,在android API 的media包中有三种方式可供我们选择,它们分别是Ringtone,SoundPool,MediaPlayer.因为在我目前的项目中暂时用不到播放很长的音频文件,只需要播放一些简短的提示音,所以在这篇博文中我只是简单的记录下. 1.Ringtone.java 2.SoundPool.java 3.MediaPlayer.java 4.demo 5.bug record 注意: 关于这三个类的介绍我全部用的是android

Android音乐播放-MediaPlayer

当你坐公交无聊的时候,当你淹没在地铁中人潮中的时候,你是否想内心保持一份的安静呢,那么请带上耳机,打开你的音乐播放器,听一首老歌带你进入宁静的世界,音乐播放这个功能在智能手机出现之前,诺基亚时代,甚至追溯到最开始的大哥大的时候都是属于音频的范畴.Android中播放音频不可避免的使用的一个类是Mediaplayer,视频调用也是这个类.扯远了,开始正题吧: 基础维护 首先这个时候来看看要实现的效果吧: 布局如下: <LinearLayout xmlns:android="http://sc

Android开发之Mediaplayer

Android提供了常见的音频.视频的编码.解码机制.借助于多媒体类MediaPlayer的支持,开发者能够非常方便在在应用中播放音频.视频.本篇博客主要解说在Android平台下怎样播放一个音频文件. 本篇博客主要内容例如以下: MediaPlayer MediaPlayer的音频源 使用MediaPlayer播放音乐 MediaPlayer使用技巧 Demo--一个简单的MP3播放器 MediaPlayer 上面提到过,Android下对于音频.视频的支持均须要使用到MediaPlayer,