安卓设备上可播放的最大视频分辨率

3
有没有一种方法可以提取Android可以播放的最大视频分辨率?我们从相机下载的MP4文件,我想在播放之前向用户显示一些错误。因为如果分辨率太高,Android将只会给您一个黑屏。我尝试使用摄像机配置文件,但这个配置文件通常会给我1920x1080,即使是像Galaxy S5这样可以处理更高分辨率的设备。
 CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);

非常感谢您的帮助!
1个回答

3

好的,

在 Android Lollipop 上,

你可以使用这个,

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

此函数用于返回给定视频的大小(宽度和高度)帧率组合是否被支持。

在 Android < Lollipop 上

您可以检查支持哪些 AVC 编解码级别,从而确定最大支持分辨率,但这对多数设备不正确。例如,在 Nexus 5 上,Android 将返回 AVC 4 级别的配置文件,这意味着您可以播放 1920x1080 视频。然而,Nexus 5 已经能够播放更高分辨率的视频,因此这种方法并不可靠。

到目前为止,在 Android < 5 上唯一的解决方法是:尝试播放视频并检查是否出现任何错误。这也是 HTC 或其他设备所采用的方法。结果可能是,在某些设备上每 2 秒只能获得 1 帧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接