有没有办法提取Android可以播放的最大视频分辨率?我们有从相机下载的MP4文件,我想在播放之前向用户显示一些错误。因为如果分辨率太高,Android就会给你一个黑屏。
我尝试使用摄像机配置文件,但即使在可以处理更高分辨率的设备(例如Galaxy S5)上,这个也给了我大部分时间1920x1080。
CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
非常感谢任何帮助!
答案 0 :(得分: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帧。