获取SD卡视频文件缩略图和保持屏幕常亮

来源:互联网 发布:武汉出境旅游数据 编辑:程序博客网 时间:2024/05/21 09:41

保持屏幕长亮的两种方法  

在Activity的onCreate()中:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
// onResume() 中调用:

mWakeLock.acquire();
//  onPause() 中调用释放WakeLock对象
mWakeLock.release();

方法二: use the window flag FLAG_KEEP_SCREEN_ON

@Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

====================都是转载过来的,下边的我没用过,留着以后研究再
01.private Bitmap createVideoThumbnail(String filePath) {  02.        Bitmap bitmap = null;  03.        MediaMetadataRetriever retriever = new MediaMetadataRetriever();  04.        try {  05.            retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY);  06.            retriever.setDataSource(filePath);  07.            bitmap = retriever.captureFrame();  08.        } catch(IllegalArgumentException ex) {  09.            // Assume this is a corrupt video file  10.        } catch (RuntimeException ex) {  11.            // Assume this is a corrupt video file.  12.        } finally {  13.            try {  14.                retriever.release();  15.            } catch (RuntimeException ex) {  16.                // Ignore failures while cleaning up.  17.            }  18.        }  19.        return bitmap;  20.    }  21.      22.private void getVideoFile(final List<videoItem> list)  23.{  24.  Bitmap bitmap = null;  25.    26.  ContentResolver mContentResolver = this.getContentResolver();  27.        Cursor cursor = mContentResolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null,    28.                null, null, MediaStore.Video.DEFAULT_SORT_ORDER);  29.          30.          31.          32.        if (cursor.moveToFirst())  33.        {  34.            do {  35.                //ID:MediaStore.Audio.Media._ID   36.                int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID));    37.                    38.                //名称 :MediaStore.Audio.Media.TITLE  39.                String tilte = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE));    40.                    41.                //专辑名:MediaStore.Audio.Media.ALBUM   42.                String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ALBUM));    43.                    44.                    45.                //歌手名: MediaStore.Audio.Media.ARTIST   46.                String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ARTIST));    47.                    48.                //路径 :MediaStore.Audio.Media.DATA   49.                String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));    50.                    51.                //总播放时长 :MediaStore.Audio.Media.DURATION  52.                int duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATION));    53.                    54.                //大小 :MediaStore.Audio.Media.SIZE   55.                int size = (int)cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE));  56.                  57.                //拍摄时间  58.                int dateTaken = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATE_TAKEN));  59.                String datetime = DateFormat.format("yyyy-MM-dd kk:mm:ss", dateTaken).toString();  60.                                61.                bitmap = createVideoThumbnail(url);  62.63.   }  

MediaMetadataRetriever.Java 应放在工程的:Android.media 下面
原创粉丝点击