一、获取视频轨道
设置视频资源MediaExtractor,获取轨道数量,然后遍历轨道数据,获取Video轨道MediaFormat。
mediaExtractor = new MediaExtractor();
try {
mediaExtractor.setDataSource(path);
} catch (IOException e) {
e.printStackTrace();
}
int count = mediaExtractor.getTrackCount();
for (int i = 0; i < count; i++) {
MediaFormat trackFormat = mediaExtractor.getTrackFormat(i);
if (trackFormat.getString(MediaFormat.KEY_MIME).contains("video")) {
videoFormat = trackFormat;
mediaExtractor.selectTrack(i);
break;
}
}
二、设置视频参数
视频解析中三个参数使必须设置的,不设置的话会导致:
catch exception:android.media.MediaCodec$CodecException: Error 0xfffffc0e
而且要设置正确,如果设备不支持宽高,也会抛出异常。

本文详细介绍如何使用MediaExtractor和MediaCodec进行视频轨道获取、参数设置、编解码操作及解码数据监听,确保视频处理流程顺畅,避免常见错误。
最低0.47元/天 解锁文章

2797





