record ====== .. _record-1: 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``**\ | | | ,quality,录音质量,0:一般质量 | | | 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,流录音时,每次上报的字节阀值 | +-----------------------------------+-----------------------------------+ - 返回值 无 - 例子 .. code:: lua -- 文件录音模式,录音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表示之前已经发送了停 | | | 止动作,请耐心等待停止结果的回调 | +-----------------------------------+-----------------------------------+ - 返回值 无 - 例子 .. code:: lua record.stop(cb) -------------- record.getFilePath() ~~~~~~~~~~~~~~~~~~~~ 读取录音文件的完整路径 - 参数 无 - 返回值 string 录音文件的完整路径 - 例子 .. code:: lua filePath = record.getFilePath() -------------- record.getData(offset, len) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 读取录音数据 - 参数 ========== =============== 传入值类型 释义 ========== =============== param offset 偏移位置 param len 长度 ========== =============== - 返回值 data 录音数据 - 例子 .. code:: lua data = record.getData(0, 1024) -------------- record.getSize() ~~~~~~~~~~~~~~~~ 读取录音文件总长度,录音时长 - 参数 无 - 返回值 fileSize 录音文件大小 duration 录音时长 - 例子 .. code:: lua fileSize, duration = record.getSize() -------------- record.delete() ~~~~~~~~~~~~~~~ 删除录音 - 参数 无 - 返回值 无 - 例子 .. code:: lua record.delete() -------------- record.exists() ~~~~~~~~~~~~~~~ 判断是否存在录音 - 参数 无 - 返回值 result true - 有录音 false - 无录音 - 例子 .. code:: lua result = record.exists() -------------- record.isBusy() ~~~~~~~~~~~~~~~ 是否正在处理录音 - 参数 无 - 返回值 result true - 正在处理 false - 空闲 - 例子 .. code:: lua result = record.isBusy() --------------