有没有办法提取Android可以播放的最大视频分辨率?我们有从相机下载的MP4文件,我想在播放之前向用户显示一些错误。因为如果分辨率太高,Android只会给您黑屏。
我尝试使用便携式摄像机配置文件,但是即使在可以处理更高分辨率的设备(例如Galaxy S5)上,大多数情况下,该配置文件仍能以1920x1080的分辨率提供给我。
CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
任何帮助都非常感谢!
好的,
在Android Lollipop上
你可以用这个
MediaCodecInfo.VideoCapabilities.areSizeAndRateSupported(int width, int height, double frameRate)
返回是否支持给定的视频size (width and height)
和frameRate
组合。
在Android上<Lollipop
您只需检查支持哪些AVC编解码器级别,就可以得出最大支持的分辨率,不幸的是,这对于大多数设备而言都不正确。例如,在Nexus 5上,Android将返回AVC配置文件级别4,这表示您可以播放1920x1080视频。但是,Nexus 5已经能够播放高分辨率的视频,因此不可靠。
到目前为止,仅适用于Android <5的解决方法:尝试播放视频并检查是否有错误。HTC或其他设备也是如此。结果,可能会发生在某些设备上,每2秒左右您将获得大约1帧。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句