未引用JNI版本----MediaMetadataRetriever获取视频缩略图(真机4.0测试通过)
来源:互联网 发布:数控g94编程实例带图 编辑:程序博客网 时间:2024/05/17 06:47
package com.example.thumanaildemo5;import java.io.File;import java.util.HashMap;import android.annotation.SuppressLint;import android.app.Activity;import android.graphics.Bitmap;import android.media.MediaMetadataRetriever;import android.media.ThumbnailUtils;import android.os.Build;import android.os.Bundle;import android.provider.MediaStore;import android.provider.MediaStore.Images;import android.widget.ImageView;public class MainActivity extends Activity {ImageView thumbnails;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);File file = new File("/sdcard/mp4/china.mp4");thumbnails =(ImageView)findViewById(R.id.imageView1); Bitmap bitmap = createVideoThumbnail(file.getAbsolutePath(),50,50); if(bitmap.toString().isEmpty()) System.out.println("bitmap is null"); else{ thumbnails.setImageBitmap(bitmap); } }@SuppressLint("NewApi")private Bitmap createVideoThumbnail(String url, int width, int height) { Bitmap bitmap = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); int kind = MediaStore.Video.Thumbnails.MINI_KIND; try { if (Build.VERSION.SDK_INT >= 14) { retriever.setDataSource(url, new HashMap<String, String>()); } else { retriever.setDataSource(url); } bitmap = retriever.getFrameAtTime(); } catch (IllegalArgumentException ex) { // Assume this is a corrupt video file } catch (RuntimeException ex) { // Assume this is a corrupt video file. } finally { try { retriever.release(); } catch (RuntimeException ex) { // Ignore failures while cleaning up. } } if (kind == Images.Thumbnails.MICRO_KIND && bitmap != null) { bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT); } return bitmap; }}
0 0
- 未引用JNI版本----MediaMetadataRetriever获取视频缩略图(真机4.0测试通过)
- 引用JNI版本----MediaMetadataRetriever获取视频缩略图(真机4.0测试通过)
- 使用 MediaMetadataRetriever类获取视频缩略图
- Android 视频缩略图之MediaMetadataRetriever
- 通过路径获取视频 缩略图
- MediaMetadataRetriever获取视频第一帧失败
- android MediaMetadataRetriever获取的缩略图有些是全黑的
- MediaMetadataRetriever的使用 (一) 获取视频正确宽高的小问题
- android 获取网络视频缩略图【完美兼容各版本】
- android 获取网络视频缩略图【完美兼容各版本
- android 获取网络视频缩略图【完美兼容各版本】
- android 通过文件名获取SD卡视频缩略图
- android MediaMetadataRetriever 获取视频宽高及时长例子
- Android之使用MediaMetadataRetriever类获取视频第一帧
- 获取视频缩略图
- 获取视频缩略图
- IOS获取视频缩略图
- 获取视频缩略图
- life as caltivating flowers
- Hadoop API 使用介绍
- C语言赋值语句是不是原子操作?
- ActivityManagerService分析
- 英语学习之沪江整理 20141028
- 未引用JNI版本----MediaMetadataRetriever获取视频缩略图(真机4.0测试通过)
- CDN原理
- 王立平--TF卡
- openfiler作为文件服务器,实现ISCSI共享存储
- poj 1182 食物链
- SDL2.0_08_timer
- Android java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.pr
- int _tmain(int argc, _TCHAR* argv[])
- 线程池ThreadPoolExecutor参数设置