解決Android視訊檔案解析度(null*null)獲取不到問題
阿新 • • 發佈:2019-01-27
可以讀取視訊檔案的第一幀來獲取解析度。我之前做的一個video播放器就是這麼做的,可以根據解析度動態改變service view大小。
其中path是檔案路徑,wVideo,hVideo為寬和高。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();