Aya*_*han 9 java android android-video-player
我正在尝试在我的应用程序中播放4K视频,但只要所有设备都无法播放4K视频,我就会遇到麻烦.
首先,你必须记住4k只是一个分辨率,但你还要记住比特率.
这是测试某个设备上是否可以实现分辨率/比特率组合的方法:
boolean areSizeAndRateSupported (int width, int height, double frameRate)
Run Code Online (Sandbox Code Playgroud)
还有:
isSizeSupported(int width, int height)
Run Code Online (Sandbox Code Playgroud)
这些方法的唯一缺点是它受API级别21的支持.
您还可以使用此方法检查编解码器功能:
MediaCodecInfo.VideoCapabilities.getVideoCapabilities()
Run Code Online (Sandbox Code Playgroud)
但据我所知,他们可以返回低于实际支持的分辨率.
另一方面,在你的情况下,android lollipop下面的设备很可能不够快,无法播放4k视频.或者即使它们可以,它们的分辨率太低而无法从4k分辨率中获得任何好处.
因此,在我看来,最优雅的解决方案是假设android 5.0下面不支持4k并使用上面的方法检查它是否支持android 5.0+.