合宙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()
示例参考:示例

你可能感兴趣的:(AIR724软件,Air724UG)