SurfaceView播放视频的截图
2016-11-01 15:15
1186 查看
//创建媒体数据寻找类
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
//找到视频源 mediaMetadataRetriever.setDataSource(Environment.getExternalStorageDirectory() + "/dianying .mp4");
//根据微妙找到对应帧的bitmap
//特别注意是微妙 bitMap = mediaMetadataRetriever.getFrameAtTime(mMediaPlayer.getCurrentPosition()*1000, MediaMetadataRetriever.OPTION_CLOSEST);本文讨论的是获取视频在某个时间点的图像, 而非屏幕截图.如果要获取屏幕截图的话直接(电源键+音量下)2. 获取视频截图2.1 MediaMetadataRetrieverMediaMetadataRetriever从名称上看可以获取视频的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 FramOPTION_PREVIOUS_SYNC: (1) or (2)OPTION_NEXT_SYNC: (1) or (3)OPTION_CLOSEST_SYNC: 获取离timeUs最近的一个Sync Frame
相关文章推荐
- 用VideoView和SurfaceView播放视频
- 从头学Android之多媒体--使用MediaPlayer和SurfaceView播放视频
- MediaPlayer 播放视频文件并通过SurfaceView显示
- Android之SurfaceView实现视频播放
- Android之SurfaceView实现视频播放
- Android使用SurfaceView实现视频播放
- 使用MediaPlayer和SurfaceView播放视频
- surfaceView视频播放
- Android SurfaceView+MediaPlayer 播放本地raw文件夹下的视频
- Android SurfaceView播放视频有声音无图像问题
- Android中VideoView及SurfaceView视频播放实现
- MediaPlayer+SurfaceView 视频截图
- MediaPlayer使用SurfaceView播放视频的时它们的主要配置
- Android学习笔记----关于MediaPlayer和SurfaceView的视频播放
- Android之SurfaceView实现视频播放
- 使用mediaplayer + surfaceview来播放视频
- Android之SurfaceView实现视频播放
- Android之多媒体--使用MediaPlayer和SurfaceView播放视频
- Android之SurfaceView实现视频播放
- 播放视频android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法