2014-11-05 137 views
2

有没有办法提取Android可以播放的最大视频分辨率?我们有从相机下载的MP4文件,我想在播放之前向用户显示一些错误。因为如果分辨率太高,Android会给你一个黑屏。Android上的最大可播放视频分辨率

我试过使用摄像机配置文件,但是这个配置给我的大部分时间都是1920x1080,即使在可以处理更高分辨率的设备上,例如Galaxy S5。

CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); 

任何帮助真的很感激!

回答

2

好吧,

上运行Android Lollipop

你可以使用这个,

MediaCodecInfo.VideoCapabilities.areSizeAndRateSupported(int width, int height, double frameRate) 

返回给定的视频size (width and height)frameRate组合是否被支持。

在Android <棒棒糖

你可以检查哪些AVC编解码器级别的支持,所以你可以得到最大的支持的分辨率,不幸的是不正确的大部分设备。例如,在Nexus 5上,Android会返回AVC配置文件级别4,这意味着您可以播放1920x1080视频。但是,Nexus 5已经可以播放更高分辨率的视频了,因此它不可靠。

Android上的解决方法< 5目前为止:尝试播放视频并检查是否有错误。这就是HTC或其他设备所做的。因此,可能发生的情况是,在某些设备上,您每2秒钟左右就会得到约1帧。