检查Android设备是否支持4Kvideo?

我试图在我的应用程序中播放4Kvideo,但只要所有设备无法播放4Kvideo,我都会遇到一些麻烦。

  • 在播放video之前,如何在运行时检查设备是否支持该设备?

Solutions Collecting From Web of "检查Android设备是否支持4Kvideo?"

首先,你必须记住4k只是一个解决scheme,但你也必须记住比特率。

以下是testing某个设备上的分辨率/比特率组合是否可实现的方法:

boolean areSizeAndRateSupported (int width, int height, double frameRate) 

https://developer.android.com/reference/android/media/MediaCodecInfo.VideoCapabilities.html#areSizeAndRateSupported(int,%20int,%20double)

还有:

 isSizeSupported(int width, int height) 

这些方法唯一的缺点是API级别21支持。

您还可以使用此方法检查编解码器function:

 MediaCodecInfo.VideoCapabilities.getVideoCapabilities() 

https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#getVideoCapabilities()

但据我所知,他们可以返回低于实际支持的分辨率。

另一方面,在你的情况下,Android棒棒糖下面的设备很可能不足以播放4kvideo。 或者即使可以,他们的分辨率也太低,实际上从4k分辨率中得不到任何好处。

所以,在我看来,最优雅的解决scheme是假设在Android 5.0下不支持4k,并使用上面的方法检查它是否支持Android 5.0+。