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

保持屏幕长亮的两种方法  

在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 下面
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值