当前位置: 首页 > news >正文

合宙Air724UG LuatOS-Air script lib API--record

record
Table of Contents
record
record.start(seconds, cbFnc, type, quality, rcdType, format, streamRptLen)
record.stop(cbFnc)
record.getFilePath()
record.getData(offset, len)
record.getSize()
record.delete()
record.exists()
record.isBusy()
record
模块功能:录音处理

record.start(seconds, cbFnc, type, quality, rcdType, format, streamRptLen)
开始录音

参数
名称 传入值类型 释义
seconds number 录音时长,单位:秒
流录音模式下,如果想长时间录音,可以将此参数设置为0x7FFFFFFF,相当于录音2147483647秒=24855天
cbFnc function 可选参数,默认为nil 录音回调函数:
当type参数为"FILE"时,回调函数的调用形式为:
cbFnc(result,size)
result:录音结果,true表示成功,false或者nil表示失败
size:number类型,录音文件的大小,单位是字节,在result为true时才有意义
当type参数为"STREAM"时,回调函数的调用形式为:
cbFnc(result,size,tag)
result:录音结果,true表示成功,false或者nil表示失败
size:number类型,每次上报的录音数据流的大小,单位是字节,在result为true时才有意义
tag:string类型,"STREAM"表示录音数据流通知,“END"表示录音结束
type string 可选参数,默认为"FILE” 录音模式
"FILE"表示文件录音模式,录音数据自动保存在文件中,录音结束后,执行一次cbFnc函数
"STREAM"表示流录音模式,录音数据保存在内存中,每隔一段时间执行一次cbFnc函数去读取录音数据流,录音结束后再执行一次cbFnc函数
quality number 可选参数,默认为1 录音质量,0:一般质量,1:中等质量,2:高质量,3:无损质量
rcdType number 可选参数,默认为2 录音类型,n:1:mic(从麦克风录制),2:voice(录制语音通话,录制的流与上下行通道),3:voice_dual(在poc模式下从麦克风录制)
format number 可选参数,默认为3 录音格式,1:pcm,2:wav,3:amrnb,4:speex
pcm格式:录音质量参数无效,采样率:8000,单声道,采样精度:16 bit,5秒钟录音80KB左右
wav格式:录音质量参数无效,比特率:128kbps,5秒钟录音80KB左右
amrnb格式:录音质量参数有效
录音质量为0时:比特率:5.15kbps,5秒钟录音3KB多
录音质量为1时:比特率:6.70kbps,5秒钟录音4KB多
录音质量为2时:比特率:7.95kbps,5秒钟录音4KB多
录音质量为3时:比特率:12.2kbps,5秒钟录音7KB多
speex格式:录音质量参数无效,pcm格式128kbps后的压缩格式,5秒钟6KB左右
streamRptLen number 可选参数,默认为nil 流录音时,每次上报的字节阀值
返回值

例子
– 文件录音模式,录音5秒,一般质量,amrnb格式,录音结束后执行cbFnc函数:
record.start(5,cbFnc)
– 流录音模式,录音5秒,一般质量,amrnb格式,每隔一段时间执行一次cbFnc函数,录音结束后再执行一次cbFnc函数:
record.start(5,cbFnc,“STREAM”)
– 流录音模式,录音5秒,一般质量,amrnb格式,每产生500字节的录音数据执行一次cbFnc函数,录音结束后再执行一次cbFnc函数:
record.start(5,cbFnc,“STREAM”,nil,nil,500)
示例参考:示例

record.stop(cbFnc)
停止录音

参数
名称 传入值类型 释义
cbFnc function 可选参数,默认为nil 停止录音的回调函数(停止结果通过此函数通知用户),回调函数的调用形式为:
cbFnc(result)
result:number类型
0表示停止成功
1表示之前已经发送了停止动作,请耐心等待停止结果的回调
返回值

例子
record.stop(cb)
示例参考:示例

record.getFilePath()
读取录音文件的完整路径

参数

返回值
string 录音文件的完整路径

例子
filePath = record.getFilePath()
示例参考:示例

record.getData(offset, len)
读取录音数据

参数
名称 传入值类型 释义
offset param 偏移位置
len param 长度
返回值
data 录音数据

例子
data = record.getData(0, 1024)
示例参考:示例

record.getSize()
读取录音文件总长度,录音时长

参数

返回值
fileSize 录音文件大小
duration 录音时长

例子
fileSize, duration = record.getSize()
示例参考:示例

record.delete()
删除录音

参数

返回值

例子
record.delete()
示例参考:示例

record.exists()
判断是否存在录音

参数

返回值
result true - 有录音 false - 无录音

例子
result = record.exists()
示例参考:示例

record.isBusy()
是否正在处理录音

参数

返回值
result true - 正在处理 false - 空闲

例子
result = record.isBusy()
示例参考:示例

相关文章:

合宙Air724UG LuatOS-Air script lib API--record

record Table of Contents record record.start(seconds, cbFnc, type, quality, rcdType, format, streamRptLen) record.stop(cbFnc) record.getFilePath() record.getData(offset, len) record.getSize() record.delete() record.exists() record.isBusy() record 模块功能&…...

基于Vgg16和Vgg19深度学习网络的步态识别系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ................................................................ % 设置训练选项options …...

Java分布式微服务3——Docker

文章目录 Docker介绍安装DockerDocker基础操作Docker服务的启动镜像命令容器命令1. 从docker hub去查看Nginx容器的运行命令2. 查看所有容器状态3. 查看容器日志4. 进入Nginx容器执行命令,修改Html内容,添加“Hello World”5. 停止与开始容器6. 删除容器…...

js字符串替换

在JavaScript中,字符串替换 有多种方法,下面介绍其中一些比较常用的方法。 使用replace()方法、 replace()方法用于在字符串中查…...

网络防御(2)

1. 什么是防火墙? 2. 状态防火墙工作原理? 3. 防火墙如何处理双通道协议? 一、什么是防火墙? 防火墙是一种网络安全设备或软件,用于保护计算机网络免受未经授权的访问,并管理网络流量。它作为一个安全边界…...

[RCTF2019]DontEatMe

前言 一道迷宫题,但是输入被加密后使用,迷宫也需要在程序中找出并没有直接输出 分析 反调试 发现有两个比较特殊的地方,随机数和创建了新线程,随机数后面又被重新赋值给覆盖了,暂时不用管,ZwSetInformat…...

6. CSS(三)

目录 一、盒子模型 (一)网页布局的本质 (二)盒子模型组成 (三)边框(border) (四)表格的细线边框 (五)内边距(padding…...

计算机网络—HTTP

这里写目录标题 HTTP是什么HTTP常见状态码HTTP常见字段GET与POST的区别Get和Post是安全和幂等吗PUT幂等,不安全DELETE幂等,不是安全 HTTP缓存技术HTTP缓存实现技术 HTTP1.0优缺点和性能HTTP1.1优缺点和性能HTTP2优缺点和性能HTTP3优缺点和性能HTTP和HTTP…...

Tomcat线程池原理

1. 一个 SpringBoot 项目能同时处理多少请求?tomcat容器, 200 次。 2. 怎么来的? 而点击这些线程,查看其堆栈消息,可以看到 Tomcat、threads、ThreadPoolExecutor 等关键字 基于“短时间内有 200 个请求被立马处理…...

踩坑 视觉SLAM 十四讲第二版 ch13 编译及运行问题

一、安装Geset 库 sudo apt-get install libgtest-dev cd /usr/src/gtest sudo mkdir build cd build sudo cmake .. //一定要以sudo的方式运行,否则没有写入权限 sudo make //这个也一样要以sudo的方式 sudo cp libgtest*.a /usr/local/lib //将生成…...

【设计模式】-装饰器模式

Java 设计模式之装饰器模式 前言 在软件开发中,经常有需求对已有的对象进行功能的扩展,但是传统的继承方式会导致类的数量快速增多,且难以维护。为了解决这个问题,装饰器模式应运而生。 装饰器模式是一种结构型设计模式&#xff…...

七月学习总结

一晃暑期七月份已经结束了,八月份需要做的事情更多。 在成长的路上不断地迷茫,不断地前进。到底才能完成对自己地救赎。 目前想的就是以后走软件开发,往架构方向做,主语言Java或者go,408基础一定要扎实,计…...

Camunda 7.x 系列【6】Spring Boot 集成 Camunda 7.19

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 前言2. Camunda Platform Run3. Spring Boot 版本兼容性4. 集成 Spring Boot5. 启动项目…...

Kubernetes —调度器配置

目录 配置文件 扩展点 调度插件 多配置文件 应用于多个扩展点的插件 调度程序配置迁移 你可以通过编写配置文件,并将其路径传给 kube-scheduler 的命令行参数,定制 kube-scheduler 的行为。 调度模板(Profile)允许你配置 k…...

【微信小程序】申请蓝牙、位置和数据库等相关权限

在小程序的app.json文件中配置requiredPermissions字段,并在其中添加相应的权限。 以下是一个示例app.json文件的配置,包括了蓝牙、位置和数据库等权限的申请: {"pages": ["pages/index/index"],"requiredPermiss…...

ORB-SLAM2学习笔记6之D435i双目IR相机运行ROS版ORB-SLAM2并发布位姿pose的rostopic

文章目录 0 引言1 D435i相机配置2 新增发布双目位姿功能2.1 新增d435i_stereo.cc代码2.2 修改CMakeLists.txt2.3 新增配置文件D435i.yaml 3 编译运行和结果3.1 编译运行3.2 结果3.3 可能出现的问题 0 引言 ORB-SLAM2学习笔记1已成功编译安装ROS版本ORB-SLAM2到本地&#xff0c…...

【数据结构与算法——TypeScript】哈希表

【数据结构与算法——TypeScript】 哈希表(HashTable) 哈希表介绍和特性 哈希表是一种非常重要的数据结构,但是很多学习编程的人一直搞不懂哈希表到底是如何实现的。 在这一章节中,我门就一点点来实现一个自己的哈希表。通过实现来理解哈希表背后的原理…...

JavaScript 中常用简写语法技巧总结

分享一些自己常用的js简写技巧,长期更新,会着重挑选一些实用的简写技巧,使自己的代码更简洁优雅~ 这里只会收集一些大多数人不知道的用法,但是确实能提高自己的编码技巧,像ES6那些基础的简写语法或者是三目运算符代替i…...

漫画算法做题笔记

诸神缄默不语-个人CSDN博文目录 哦这是我三年前写的,我现在Java语法都快忘光了…… 反正之前的博文也发一下好了。这个因为我当年是用有道云笔记而不是直接用CSDN编辑器写的,所以后面有些内容写乱了,因为我现在猛的一看有点看不懂&#xff0…...

JDBC学习笔记

1 JDBC简介 1.1 前言 当谈论JDBC时,我们可以将其看作是一种用于Java程序与数据库进行通信的方式。如果你想编写一个Java程序,并且希望能够连接到数据 库、执行查询或更新数据,JDBC就是你需要的工具。 JDBC提供了一组类和接口,…...

使用curl命令直接调试taotoken大模型api接口的详细方法

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用curl命令直接调试Taotoken大模型API接口的详细方法 对于需要在无SDK环境下进行底层调试、自动化脚本编写或快速验证接口的开发…...

Apache Doris多模态能力深度解析:从技术架构到大厂落地实践

这篇文章是个人的学习总结,AI时代下的Doris在多模态能力的支持上越来越完善,个人总结了背景、技术方案以及各大公司落地场景,方便查阅,大家可以点击收藏。前言Apache Doris 4.0正式引入原生向量索引、AI 函数与混合检索能力&#…...

博客从 Ubuntu 16.04 迁移到 FreeBSD:成本减半,性能提升超 10 倍!

Bruno Croci 的网站迁移之旅Bruno Croci 正在为 2026 年柏林的开源硬件峰会做准备。他的博客在 Ubuntu 16.04 上运行了 10 年,于 2026 年 5 月 21 日,他将其迁移到了 FreeBSD。迁移动机:旧系统的安全隐患与成本考量这个博客在 Digital Ocean …...

收藏!大模型算法工程师11个方向及2026年前景深度解析(小白程序员进阶必看)

本文深度剖析大模型算法工程师的11个核心方向,包括推理训练、Agentic Search、Agent/Tool Use等,并按梯队划分其发展前景。重点分析了各方向的技术难点与未来趋势,如开放域推理奖励设计、长链路推理稳定性、多模态后训练等。文章强调RL训练能…...

Photoshop到URP的法线验证闭环:跨引擎法线贴图精准调试指南

1. 这不是个“一键生成法线”的玩具,而是一套跨引擎、跨工作流的材质验证闭环你有没有遇到过这样的情况:在 Photoshop 里辛苦调出一张完美的 Normal Map,导入 Unity 后却发现高光方向反了、边缘发灰、贴图在 Decal 上拉伸变形,甚至…...

利用Taotoken用量看板与成本管理功能精细化控制AI支出

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken用量看板与成本管理功能精细化控制AI支出 作为团队的技术负责人,在引入大模型能力支持多个研发项目时&…...

为什么你的DeepSeek推理延迟飙升300%?GPU显存碎片化诊断与TensorRT加速实录

更多请点击: https://codechina.net 第一章:DeepSeek推理延迟飙升300%的根因定位 在一次线上A/B测试中,DeepSeek-R1-7B模型的P99推理延迟从平均320ms骤升至1280ms,增幅达300%。该异常首先被PrometheusGrafana告警链捕获&#xff…...

DazToBlender:3D创作工作流的无缝桥梁

DazToBlender:3D创作工作流的无缝桥梁 【免费下载链接】DazToBlender Daz to Blender Bridge 项目地址: https://gitcode.com/gh_mirrors/da/DazToBlender 在3D数字创作的世界里,艺术家们常常面临一个现实困境:如何在不同的专业软件之…...

G-Helper终极指南:3步释放华硕笔记本完整性能的轻量控制革命

G-Helper终极指南:3步释放华硕笔记本完整性能的轻量控制革命 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbo…...

AMD Ryzen终极调优实战:SMUDebugTool免费工具完整配置指南

AMD Ryzen终极调优实战:SMUDebugTool免费工具完整配置指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...