record¶
record¶
模块功能:录音处理
record.start(seconds, cbFnc, type, quality, format, streamRptLen)¶
开始录音
参数
传入值类型 |
释义 |
---|---|
number |
seconds,录音时长,单 位:秒流录音模式下,如果想长时间 录音,可以将此参数设置为0x7FFFFFF F,相当于录音2147483647秒=24855天 |
function |
可选参数, 默认为``nil``,cbFnc,录音 回调函数:当type参数为“FILE”时, 回调函数的调用形式为:cbFnc(resul t,size)result:录音结果,true表示 成功,false或者nil表示失败size:n umber类型,录音文件的大小,单位是 字节,在result为true时才有意义当t ype参数为“STREAM”时,回调函数的调 用形式为:cbFnc(result,size,tag) result:录音结果,true表示成功,f alse或者nil表示失败size:number类 型,每次上报的录音数据流的大小, 单位是字节,在result为true时才有 意义tag:string类型,“STREAM”表示 录音数据流通知,“END”表示录音结束 |
string |
可选参数,默认为`` “FILE”``,type,录音模式“FILE ”表示文件录音模式,录音数据自动保 存在文件中,录音结束后,执行一次 cbFnc函数“STREAM”表示流录音模式, 录音数据保存在内存中,每隔一段时 间执行一次cbFnc函数去读取录音数据 流,录音结束后再执行一次cbFnc函数 |
number |
1:中等质量 2:高质量 3:无损质量 |
number |
可选参数,默认为` `3``,format,录音格式,1:pcm 2:wav 3:amrnb 4:s peexpcm格式:录音质量参数无效,采 样率:8000,单声道,采样精度:16 bit,5 秒钟录音80KB左右wav格式:录音质量 参数无效,比特率:128kbps,5秒钟 录音80KB左右amrnb格式:录音质量参 数有效录音质量为0时:比特率:5.15 kbps,5秒钟录音3KB多录音质量为1时 :比特率:6.70kbps,5秒钟录音4KB 多录音质量为2时:比特率:7.95kbps ,5秒钟录音4KB多录音质量为3时:比 特率:12.2kbps,5秒钟录音7KB多spe ex格式:录音质量参数无效,pcm格式 128kbps后的压缩格式,5秒钟6KB左右 |
number |
可选参数 ,默认为``nil``,streamRpt Len,流录音时,每次上报的字节阀值 |
返回值
无
例子
-- 文件录音模式,录音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)¶
停止录音
参数
传入值类型 |
释义 |
---|---|
function |
可选参数, 默认为``nil``,cbFnc,停止 录音的回调函数(停止结果通过此函数 通知用户),回调函数的调用形式为: cbFnc(result)result:number类型0 表示停止成功1表示之前已经发送了停 止动作,请耐心等待停止结果的回调 |
返回值
无
例子
record.stop(cb)
record.getData(offset, len)¶
读取录音数据
参数
传入值类型 |
释义 |
---|---|
param |
offset 偏移位置 |
param |
len 长度 |
返回值
data 录音数据
例子
data = record.getData(0, 1024)
record.getSize()¶
读取录音文件总长度,录音时长
参数
无
返回值
fileSize 录音文件大小 duration 录音时长
例子
fileSize, duration = record.getSize()