Mic*_*Bak 17 video android android-3.0-honeycomb android-4.0-ice-cream-sandwich
我正在寻找一种方法来获得Android中任何给定视频的分辨率.它不必与Android中支持的其他格式一起使用,但如果确实如此,它会很棒.如果您不确定Android中支持的格式,请参阅此页面:
http://developer.android.com/guide/appendix/media-formats.html
我认为使用MediaPlayer
该类可以做我想做的事情,但这看起来非常愚蠢和低效.而且,我想要一种相对较快的方式.
我的目标是Android 3.0+,如果这有任何区别的话.Honeycomb还支持.mkv文件,虽然直到Android 4.0才正式支持.
Kur*_*aum 48
您可以使用MediaMetadataRetriever检索有关视频文件的分辨率信息.您将使用extractMetadata()方法并使用METADATA_KEY_VIDEO_HEIGHT
和METADATA_KEY_VIDEO_WIDTH
常量.所以你会做这样的事情:
MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever();
metaRetriever.setDataSource(/* file descriptor or file path goes here */);
String height = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);
String width = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
Run Code Online (Sandbox Code Playgroud)
API 10+的技巧:
MediaMetadataRetriever mRetriever = new MediaMetadataRetriever();
mRetriever.setDataSource("video_file_path");
Bitmap frame = mRetriever.getFrameAtTime();
int width = frame.getWidth();
int height = frame.getHeight();
Run Code Online (Sandbox Code Playgroud)
我们很简单地从视频中获取随机帧并检测其宽度和高度。
归档时间: |
|
查看次数: |
12343 次 |
最近记录: |