1. 程式人生 > >解決Android視訊檔案解析度(null*null)獲取不到問題

解決Android視訊檔案解析度(null*null)獲取不到問題

可以讀取視訊檔案的第一幀來獲取解析度。我之前做的一個video播放器就是這麼做的,可以根據解析度動態改變service view大小。
Cursor cursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, "(_data='"+_data+"')", null, MediaStore.Video.Media.DEFAULT_SORT_ORDER);
  
cursor.moveToFirst();    
path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));
MediaMetadataRetriever retr = new MediaMetadataRetriever();  
retr.setDataSource(path);        
Bitmap bm = retr.getFrameAtTime(); 
wVideo = bm.getWidth();  
hVideo = bm.getHeight(); 
其中path是檔案路徑,wVideo,hVideo為寬和高。