我在Nexus5上测试过
codecInfo.isFeatureSupported(MediaCodecInfo.CodecCapabilities.FEATURE_AdaptivePlayback)
返回false。
有人知道哪些芯片组/软件编解码器支持该功能吗?
https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#FEATURE_AdaptivePlayback
谢谢
最佳答案
这在大多数超过kk mr1的nexus设备上都受支持。注意,它只是硬件视频解码器。
Nexus 5(KK MR1)://高通Snapdragon 800
omx.qcom.video.decoder.avc文件
omx.qcom.video.decoder.mpeg4视频解码器
omx.qcom.video.decoder.h263视频解码器
omx.qcom.video.decoder.vp8文件
Nexus 4和Nexus 7 V2013(KK MR1)://Qualcomm Snapdragon S4 Pro APQ8064
omx.qcom.video.decoder.avc文件
omx.qcom.video.decoder.mpeg4视频解码器
omx.qcom.video.decoder.h263视频解码器
Nexus 10(KK MR1)//三星Exynos 5250
omx.exynos.mpeg4.解码器
omx.exynos.h263.解码器
omx.exynos.avc.解码器
值得注意的例外:
Nexus7V2012(KKMR1中没有支持它的编解码器)
对于非Nexus设备,您需要自己查询编解码器。这是我为查询所做的代码片段。
int numCodecs = MediaCodecList.getCodecCount();
for (int i = 0; i < numCodecs; i++) {
MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);
String name = codecInfo.getName();
Log.i(TAG, "Examinig " + (codecInfo.isEncoder() ? "encoder" : "decoder") + ": " + name);
for(String type: codecInfo.getSupportedTypes()) {
boolean ap = codecInfo.getCapabilitiesForType(type).isFeatureSupported(MediaCodecInfo.CodecCapabilities.FEATURE_AdaptivePlayback);
Log.i(TAG, "supports adaptive playback: " + ap);
}
}