Android 调用配置时 MediaCodec 错误

Android MediaCodec error when configure is called

我正在尝试将我的 JPEG 帧转换为 MP4 视频,但是当我在 MediaCodec 上调用 configure 时,error/warning 显示在 Logcat 上对象:

E/Codec2Client: createComponent(c2.android.avc.encoder) -- call failed: NOT_FOUND.

该应用程序没有崩溃,我也可以在 MediaCodec 对象上调用 start...我已经检查了 https://developer.android.com/reference/android/media/MediaFormat[= 中 MediaFormat 的所有必需键19=]

我真的不明白为什么会出现这个错误,谢谢大家的帮助!!!

// JPEG encoder only support this colorFormat as Input
// COLOR_FormatCbYCrY a.k.a Organized as 16bit UYVY
int colorFormat = MediaCodecInfo.CodecCapabilities.COLOR_FormatCbYCrY;

MediaFormat videoFormat = MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);

// Set some properties.  Failing to specify some of these can cause the MediaCodec
// configure() call to throw an unhelpful exception.
videoFormat.setInteger(MediaFormat.KEY_WIDTH, mWidth);
videoFormat.setInteger(MediaFormat.KEY_HEIGHT, mHeight);
videoFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, colorFormat);
videoFormat.setInteger(MediaFormat.KEY_BIT_RATE, BIT_RATE);
videoFormat.setInteger(MediaFormat.KEY_FRAME_RATE, mFrameRate);
videoFormat.setInteger(MediaFormat.KEY_CAPTURE_RATE, mFrameRate);
videoFormat.setInteger(MediaFormat.KEY_DURATION, mDuration_us);
videoFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL);

// Create a MediaCodec for the desired codec, then configure it as an encoder with
// our desired properties.
String codecName = codec.getName();
MediaCodec encoder = MediaCodec.createByCodecName(codecName);
encoder.configure(videoFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);

错误与不支持的颜色格式有关...