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

2023-09-17 13:04:01

常量

常量

类型

解释

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)
更多推荐

云原生之使用Docker部署SSCMS内容管理系统

云原生之使用Docker部署SSCMS内容管理系统一、SSCMS介绍二、本地环境介绍2.1本地环境规划2.2本次实践介绍三、本地环境检查3.1检查Docker服务状态3.2检查Docker版本3.3检查dockercompose版本四、下载SSCMS镜像五、部署SSCMS内容管理系统5.1创建SSCMS容器5.2检查S

制作学生查询小程序

学生个人成绩查询小程序,一款助力教师实时了解学生学习情况的便捷工具。本文将为您揭秘它的制作过程,并提供实用的建议。然而,简便易用的方法莫过于选择现有的工具。许多教师都偏爱使用易查分来快速创建查分网站。与传统的独立开发方式不同,易查分免去了高昂的定制费用和计算机技术要求。只需简单操作电脑,教师们就能通过上传成绩表格轻松制

家政服务小程序上门服务小程序预约上门服务维修保洁上门服务在线派单技师入口

套餐一:源码=1500元套餐二:全包服务包服务器+域名+认证小程序+搭建+售后=2000元主要功能:1、服务商入驻支持个人或企业入驻成为平台服务商;2、发布商品入驻服务商后,可以发布服务商品,用户可以在线下单,预约服务;3、发布需求用户可以发布一口价或竞价需求,服务商抢-单,用户可以选择服务商下单服务;4、服务商等级支

家族小程序:连接亲情的技术纽带

家族小程序是一种基于互联网技术的应用程序,旨在为家族成员提供便捷的沟通与分享平台。它通过集成了多种功能模块,如家族动态、相册分享、日程安排等,实现了家庭成员之间的实时互动和信息共享。本文将深入探讨家族小程序的原理和功能,分析其对家庭关系的影响,并就其发展趋势进行思考,旨在为读者提供专业且有深度的见解,进一步了解家族小程

Android 修复在 Settings 首页,按键盘方向键逐个单选

Android修复在Settings首页,按键盘方向键逐个单选问题现象问题分析解决办法问题现象在Settings主界面,按键盘方向键上下会直接整个选中,无法单条选中变色,而在二级页面中按方向键上下是正常的。没有遥控器可以通过adb指令模拟下键adbshellinputkeyevent20问题分析Settings中都是用

win部署CRM

win部署crm)1.phpstudy2.composer3.代码4.其他配置周末锴哥让我帮他部署了一个CRM,写个教程,方便之后他用。锴哥用的是NxCrm,先把代码下下来。1.phpstudy1.首先是下载小皮面板,配置php的环境。这里面下载了php8.2.9nts版本的,然后把原来的7版本的就删掉了。2.将代码解

MyBatis字段名和属性名不一样的解决方案

一、给字段起别名,保持和属性名一样<!--List<Emp>getAllEmp();--><selectid="getAllEmp"resultType="Emp">selecteid,emp_nameempName,age,sex,emailfromt_emp</select>如上面的SQL语句将emp_name取别

HarmonyOS之 应用程序页面UIAbility

一UIAbility介绍:1.1UIAbility是一种包含用户界面的应用组件,用于和用户进行交互UIAbility是系统调度的单元、提1.2供窗口用于界面绘制2.UIAbility的创建和对应页面的创建1.3UIAbility内页面间的跳转1.4UIAbility的创建、前后台切换、销毁的生命周期状态二UIAbili

Vue模板语法(下)

目录一、事件处理器1.1定义1.2类型1.3阻止单击事件冒泡1.4事件只能单击一次二、表单的综合案例2.1定义2.2常用功能3.3代码演示与讲解三、组件通信3.1定义3.2实现方式3.3自定义组件3.3.1定义3.3.2自定义组件代码演示3.4组件通信父传子3.4.1定义3.4.2传递过程3.4.3代码演示3.5组件通

C2基础设施威胁情报对抗策略

威胁情报是指在信息安全和安全防御领域,收集、分析和解释与潜在威胁相关的信息,以便预先发现并评估可能对组织资产造成损害的潜在威胁,是一种多维度、综合性的方法,其通过信息的收集、分析和研判,帮助组织了解可能对其安全构成威胁的因素。这种方法不仅仅着重于技术层面,还包括了社会、心理、政治等多个维度,以此更好地应对不断变化和复杂

Python--文件和异常

目录1、读取文件1.1读取文件的全部内容1.2相对路径和绝对路径1.3访问文件中的各行1.4使用文件中的内容1.5包含100万位的大型文件1.6圆周率中的生日2、写入文件2.1写入一行2.2写入多行3、异常3.1处理ZeroDivisionError异常3.2使用try-except代码块3.3使用异常避免崩溃3.4e

热文推荐