import android.media.MediaCodecInfo.CodecCapabilities;
// ...
MediaCodecInfo codecInfo = codec.getCodecInfo();
MediaCodecInfo.CodecCapabilities capabilities = codecInfo.getCapabilitiesForType("video/avc");
List<String> dynamicArray = new ArrayList<>();
for (int colorFormat : capabilities.colorFormats) {
dynamicArray.add(getColorFormatName(colorFormat));
// Timber.i(getColorFormatName(colorFormat));
}
// ...
private String getColorFormatName(int colorFormat) {
switch (colorFormat) {
case MediaCodecInfo.CodecCapabilities.COLOR_Format12bitRGB444:
return "COLOR_Format12bitRGB444";
case MediaCodecInfo.CodecCapabilities.COLOR_Format16bitARGB1555:
return "COLOR_Format16bitARGB1555";
case MediaCodecInfo.CodecCapabilities.COLOR_Format16bitARGB4444:
return "COLOR_Format16bitARGB4444";
case MediaCodecInfo.CodecCapabilities.COLOR_Format16bitBGR565:
return "COLOR_Format16bitBGR565";
case MediaCodecInfo.CodecCapabilities.COLOR_Format16bitRGB565:
return "COLOR_Format16bitRGB565";
case MediaCodecInfo.CodecCapabilities.COLOR_Format18BitBGR666:
return "COLOR_Format18BitBGR666";
case MediaCodecInfo.CodecCapabilities.COLOR_Format18bitARGB1665:
return "COLOR_Format18bitARGB1665";
case MediaCodecInfo.CodecCapabilities.COLOR_Format18bitRGB666:
return "COLOR_Format18bitRGB666";
case MediaCodecInfo.CodecCapabilities.COLOR_Format19bitARGB1666:
return "COLOR_Format19bitARGB1666";
// ... 添加更多的颜色格式
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar:
return "COLOR_FormatYUV420Planar";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420PackedPlanar:
return "COLOR_FormatYUV420PackedPlanar";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar:
return "COLOR_FormatYUV420SemiPlanar";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV422Planar:
return "COLOR_FormatYUV422Planar";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV422PackedPlanar:
return "COLOR_FormatYUV422PackedPlanar";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV422SemiPlanar:
return "COLOR_FormatYUV422SemiPlanar";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV422PackedSemiPlanar:
return "COLOR_FormatYUV422PackedSemiPlanar";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV444Interleaved:
return "COLOR_FormatYUV444Interleaved";
case MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface:
return "COLOR_FormatSurface";
// 如果colorFormat是未知的,返回其整数值
default:
return "Unknown (" + colorFormat + ")";
}
}
安卓获取支持的视频格式
猜你喜欢
转载自blog.csdn.net/jacke121/article/details/134610518
今日推荐
周排行