#

工作中遇到,需要获取一个本地mp4文件任意时间点的图片。刚开我始是使用 Android 提供的 MediaMetadataRetriever 来实现,不过鼓捣一阵发现,其实系统的这个类并不能满足我的需求,因为
MediaMetadataRetriever 只能获取 你指定时间的附近的关键帧(Key frame
一开始的代码如下
java
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(renderOutputFilePath);
mmr.getFrameAtTime(1*1000*1000,OPTION_CLOSEST_SYNC );//获取1秒附近的关键帧

即使我把 getFrameAtTime 的第二个参数指定为 OPTION_CLOSEST 其实也获取不到精确位置的图片。

  最后还是在stackoverflow找到了封装了ffmpeg的库可以满足我的需要,并且所提供的API 和 Android 的 MediaMetadataRetriever是一样的,github地址。 需要注意的是,这个库导进去还是比较大的,我仅仅导入了 armeabi-v7a 架构的库,也使得我的库增加了 将近5MB。如果后续有更好的方式,会在这边更新。

更多相关文章

  1. android ListView 异步加载图片
  2. Android(安卓)简易音乐动态相册(多种动画)
  3. android根据图片的uri获取图片的物理路径
  4. android系统设置-修改睡眠时间,修改背光强度
  5. android异步加载网络图片
  6. Android(安卓)自定义时间选择对话框
  7. Android之Bitmap使用心得(持续更新)
  8. Android:网络图片Url 转 Bitmap
  9. Android(安卓)video streaming and encoder

随机推荐

  1. Android问题总结
  2. Android(安卓)textView点击滚动(跑马灯)
  3. android ui imagebutton
  4. Android--ExpandbleView源码学习一---Exp
  5. android唤醒屏幕--保持屏幕唤醒-Reprinte
  6. Android(安卓)USB挂载
  7. Android(安卓)异步任务加载图片代码
  8. 安卓Android大量项目源码实例
  9. 【Fragment】 Android(安卓)Fragment生命
  10. MAC上使用maven打android的包,报错:No And