可以读取视频文件的第一帧来获取分辨率。我之前做的一个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为宽和高。