MediaCodec踩坑记录

本文详细记录了在使用Android的MediaCodec进行编解码操作时遇到的问题,包括MediaRecorder的状态机管理,如何正确保存到本地文件,以及尝试将录制内容实时上传到服务器的挑战和失败方案分析。
摘要由CSDN通过智能技术生成

MediaCodec

MediaCodec是Android原生提供的API,用于编解码操作,相信很多小伙伴都玩过。相对于其他API接口,MediaCodec的Java层代码较浅,主要逻辑都使用C++实现,一旦出现问题,报错信息不能充分的说明问题所在,所以在此记录鄙人使用过程种遇到的各种问题,供后来人参考。
本文主要涉及音视频编码流程。

MediaRecoder

状态机

MediaRecorder的生命周期比较重要,不同的生命周期对应不同的状态,不同的状态对应不同的可操作性方法。不按状态调用错误方法都会导致运行时错误。状态转换图可以在官网找到。
在这里插入图片描述

保存到本地文件

MediaRecorder可以很方便的将录制文件保存为本地文件,只要在设置outputFile为一个可用的路径即可。
注意两个点:

  1. 确保应用有权限写入目标文件
  2. 遵守参数设置顺序,参考如下javadoc
	/**
     * Pass in the file object to be written. Call this after setOutputFormat() but before prepare().
     * File should be seekable. After setting th
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值