第一步:将bitmap转换成drawable对象,并设置给surfaceView视频播放窗口作为背景图片
//通过getVideoThumbnail方法取得视频中的第一帧图片,该图片是一个bitmap对象
Bitmap bitmap=getVideoThumbnail(String url);
//将bitmap对象转换成drawable对象
Drawable drawable=new BitmapDrawable(bitmap);
//将drawable对象设置给视频播放窗口surfaceView控件作为背景图片
surfaceView.setBackgroundDrawable(drawable);
第二部分:通过url网址或者本地文件路径获得视频的第一帧图片
public Bitmap getVideoThumbnail(String url) {
Bitmap bitmap = null;
//MediaMetadataRetriever 是android中定义好的一个类,提供了统一
//的接口,用于从输入的媒体文件中取得帧和元数据;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
//()根据文件路径获取缩略图
//retriever.setDataSource(filePath);
retriever.setDataSource(url, new HashMap());
//获得第一帧图片
bitmap = retriever.getFrameAtTime();
}
catch(IllegalArgumentException e) {
e.printStackTrace();
}
catch (RuntimeException e) {
e.printStackTrace();
}
finally {
try {
retriever.release();
}
catch (RuntimeException e) {
e.printStackTrace();
}
}
Log.v("bitmap", "bitmap="+bitmap);
return bitmap;
}