Android 视频截图方法
来源:互联网 发布:php做app 编辑:程序博客网 时间:2024/05/24 03:10
1. 前言
本文讨论的是获取视频在某个时间点的图像, 而非屏幕截图.
如果要获取屏幕截图的话直接(电源键+音量下)
2. 获取视频截图
2.1 MediaMetadataRetriever
MediaMetadataRetriever从名称上看可以获取视频的Metadata信息, 此外还可以获取视频的截图, 其中抽取视频的缩略图就是采用此函数实现的.
2.2 使用方法
采用MediaMetadatRetriever.getFrameAtTime方法获取视频的该帧图像.
public Bitmap getFrameAtTime (long timeUs)
public Bitmap getFrameAtTime (long timeUs, int option)
需要注意的是:
该时间点的单位是微秒,普通时间的单位都是毫秒;
option :
OPTION_CLOSEST: 获取离timeUs最近的一帧图像.
此函数获取的帧是Sync Frame, 由于在timeUs此时间点不一定恰好有一个Sync Frame, 所以会有一定的误差.
获取Sync Frame时 有3中情况:
(1) 在timeUs处恰好有一个Sync Frame
(2) 获取timeUs前一个Sync Frame
(3) 获取timeUs后一个Sync Fram
OPTION_PREVIOUS_SYNC: (1) or (2)
OPTION_NEXT_SYNC
: (1) or (3)
OPTION_CLOSEST_SYNC: 获取离timeUs最近的一个Sync Frame
MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setDataSource(mFilePath); Bitmap bitmap = retriever.getFrameAtTime(miCurPos*1000); String path = Environment.getExternalStorageDirectory() + File.separator + Environment.DIRECTORY_DCIM + "/Camera"; path += Tools.getDisplayName(mFilePath) + "_" + Tools.IntToTimeString(miCurPos) + "_" + ".png"; Tools.saveBitmap(bitmap, path); sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(path)))); } catch (IllegalArgumentException e) { e.printStackTrace(); VideoLogger.e(TAG, "MediaMetadataRetriever.setDataSource Failed: " + mFilePath); ShowToast(mResources.getString(R.string.info_screen_shot_failed), 0); }
0 0
- Android 视频截图方法
- Android 视频截图方法
- Android 视频截图方法
- android视频截图
- 转: android视频截图
- Android 视频截图
- android 视频截图笔记
- Android播放网络视频截图
- android播放网络视频截图
- android 截图方法
- Android应用截图方法
- Android截图方法
- C#从视频截图的方法
- C#从视频截图的方法
- C#从视频截图的方法
- C#从视频截图的方法
- C#从视频截图的方法
- C#从视频截图的方法
- CSDN越来越不稳定之二
- HTTP Request header
- 满满的负能量......
- C++中overload,override,overwrite的区别详细解析
- WinCE流接口驱动工作原理
- Android 视频截图方法
- 判断当前应用程序处于前台还是后台
- StringUtil工具类
- 一个UI控件弱引用问题
- 工作队列workqueue 详细资料
- 大白话解析模拟退火算法(simulate annealing)
- 关于html代码中name为apple-itunes-app的meta标签
- Remove Element
- 基于Crypto++/Cryptopp的rsa密钥生成,rsa加密、解密,rsa签名、验签