您的位置:首页 > 理论基础 > 计算机网络

获取本地视频,网络视频的第一帧图片,使之显示出来

2017-06-29 15:31 459 查看
转自:程无心的博客

String path  = Environment.getExternalStorageDirectory().getPath();
MediaMetadataRetriever media = new MediaMetadataRetriever();
media.setDataSource(path+"/123.rmvb");
Bitmap bitmap = media.getFrameAtTime();
image = (ImageView)this.findViewById(R.id.imageView1);
image.setImageBitmap(bitmap);

这些也是我之前在网上搜出来的,下面的获取网络视频的第一帧也是。

这个是获取网络视频的第一帧图片

new Thread(new Runnable() {
@Override
public void run() {
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
Bitmap bitmap = null;
try {
HashMap<String, String> params = new HashMap<>();
params.put("Accept-Encoding", "gzip, deflate, sdch");
params.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
mediaMetadataRetriever.setDataSource(mediaPlayer.getCurrentURI().toString(), params);
// 获取图片
bitmap = mediaMetadataRetriever.getFrameAtTime(currentPlayPosition, MediaMetadataRetriever.OPTION_NEXT_SYNC);
//将图片保持到相册中
saveBitmapToGallery(bitmap);
} catch (Exception e) {
e.printStackTrace();
} finally {
mediaMetadataRetriever.release();
if (bitmap != null) {
bitmap.recycle();
}
}
}
}).start();


如果Java.lang.RuntimeException:
setDataSource failed: status = 0x80000000   报这个的错误,抓取视频流,看看流的头是什么,将之设置进来,然后就OK了。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐