Android MediaCodec 硬编码 H264 文件

当 MediaCodec 工作发生异常时,会进入到 Error 状态,此时还是可以通过 reset 方法恢复过来,进入 Uninitialized 状态。

[](()MediaCodec 调用流程

理解了 MediaCodec 的生命周期和工作流程之后,就可以上手来进行编码工作了。

以 MediaCodec 同步调用为例,使用过程如下:

// 创建 MediaCodec,此时是 Uninitialized 状态

MediaCodec codec = MediaCodec.createByCodecName(name);

// 调用 configure 进入 Configured 状态

codec.configure(format, …);

MediaFormat outputFormat = codec.getOutputFormat(); // option B

// 调用 start 进入 Executing 状态,开始编解码工作

codec.start();

for (;😉 {

// 从输入缓冲区队列中取出可用缓冲区,并填充数据

int inputBufferId = codec.dequeueInputBuffer(timeoutUs);

if (inputBufferId >= 0) {

ByteBuffer inputBuffer = codec.getInputBuffer(…);

// fill inputBuffer with valid data

codec.queueInputBuffer(inputBufferId, …);</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值