检测在Android中使用多个MediaCodec作为视频编码器的功能

时间:2014-07-14 10:50:24

标签: android video multiple-instances mediacodec encoder

请参阅this question,取决于设备,APP是否可以将多个MediaCodec实例用作视频编码器。是否有推荐的方法来检测设备上的功能?

例如,如果有一个Android API来查询多个视频编码器的支持或其最大计数,或者在编码过程之前创建/初始化MediaCodec实例时可以检查这个问题?我想在我的APP中检测设备功能,而无需编码坏视频甚至崩溃。

2 个答案:

答案 0 :(得分:1)

从Android 4.4开始,没有这样的API。

我知道这样做的唯一方法是尝试设置编码器并查看它是否失败。 "屏幕记录"命令执行类似的操作:它尝试以完整的显示分辨率对视频进行编码。如果失败,它会回落到720p并再次尝试。

答案 1 :(得分:1)

基本上,它有Android 6.0+(MarshMallow版本)的API,你可以在这里查看更多细节getMaxSupportedInstances

对于Android 4.4,不,它没有这样的API供开发人员检查此设备支持多少媒体编解码器实例(但请记住,即使您发现该设备可以创建10个媒体编解码器实例,但它没有&#39 ; t意味着你可以打开那么多)。

您可以在此处查看我的代码。 Check Media Code Instances