LuatOS-SOC接口文档(air780E)--camera - codec - 多媒体-编解码

常量

常量 类型 解释
codec.MP3 number MP3格式
codec.WAV number WAV格式
codec.AMR number AMR-NB格式,一般意义上的AMR
codec.AMR_WB number AMR-WB格式

codec.create(type, isDecoder)

创建编解码用的codec

参数

传入值类型 解释
int 多媒体类型,目前支持codec.MP3 codec.AMR
boolean 是否是解码器,true解码器,false编码器,默认true,是解码器

返回值

返回值类型 解释
userdata 成功返回一个数据结构,否则返回nil

例子

复制代码
-- 创建解码器
local decoder = codec.create(codec.MP3)--创建一个mp3的decoder
-- 创建编码器
local encoder = codec.create(codec.AMR, false)--创建一个amr的encoder

codec.info(decoder, file_path)

decoder从文件中解析出音频信息

参数

传入值类型 解释
userdata 解码用的decoder
string 文件路径

返回值

返回值类型 解释
boolean 是否成功解析
int 音频格式
int 声音通道数
int 采样频率
int 采样位数
boolean 是否有符号

例子

复制代码
local result, audio_format, num_channels, sample_rate, bits_per_sample, is_signed= codec.get_audio_info(coder, "xxx")

codec.data(decoder, out_buff)

decoder从文件中解析出原始音频数据,比如从MP3文件里解析出PCM数据,这里的文件路径已经在codec.info传入,不需要再次传入

参数

传入值类型 解释
userdata 解码用的decoder
zbuff 存放输出数据的zbuff,空间必须不少于16KB

返回值

返回值类型 解释
boolean 是否成功解析

例子

复制代码
local result = codec.get_audio_data(coder, zbuff)

codec.encode(coder, in_buffer, out_buffer, mode)

编码音频数据,由于flash和ram空间一般比较有限,目前只支持amr-nb编码

参数

传入值类型 解释
userdata codec.create创建的编解码用的coder
zbuff 输入的数据,zbuff形式,从0到used
zbuff 输出的数据,zbuff形式,自动添加到buff的尾部,如果空间大小不足,会自动扩展,但是会额外消耗时间,甚至会失败,所以尽量一开始就给足空间
int amr_nb的编码等级 0~7(即 MR475~MR122)值越大消耗的空间越多,音质越高,默认0

返回值

返回值类型 解释
boolean 成功返回true,失败返回false

例子

复制代码
codec.encode(amr_coder, inbuf, outbuf, codec.AMR_)

codec.release(coder)

释放编解码用的coder

参数

传入值类型 解释
coder codec.create创建的编解码用的coder

返回值

例子

复制代码
codec.release(coder)
相关推荐
合宙Luat4 个月前
Air780EP模块 LuatOS开发-MQTT接入阿里云应用指南
阿里云·云计算·合宙·air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--rsa - RSA加密解密
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--rtos - RTOS底层操作库
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--repl - “读取-求值-输出” 循环
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--pwm - PWM模块
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--protobuf - ProtoBuffs编解码
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--otp - OTP操作库
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--os - os操作
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--nimble - 蓝牙BLE库(nimble版)
air780e
l5317981511 年前
LuatOS-SOC接口文档(air780E)--pack - 打包和解包格式串
air780e