Record(录音)

# 简介 Air722UG-NMM模块提供了一路模拟输出通道,支持TTS播放mic输入。 ## API说明 audio的API在LuatOS-Air lib有做封装,建议直接用lib的API接口。 |API接口| 描述| | --- | --- | | record.start()|开始录音| |record.stop()|停止录音| 详细的API介绍见[ record API章节](https://doc.openluat.com/wiki/21?wiki_page_id=2289) ## 实现流程 现象代码参考demo\record - **设置语音的输入和输出通道** ```lua --第一个参数语音输出:2是喇叭,1是耳机,0是听筒, 第二个参数语音输入:0是主麦,3是耳机 --比如以下是设置为喇叭输出,主麦输入 audio.setChannel(2,0) ``` - **启动定时器开始录音,并且播放录音** ```lua --函数名:rcdcb --功能 :录音结束后的回调函数,如果录音成功返回true和文件大小,否则返回false --[[ 函数名:rcdcb 功能 :录音结束后的回调函数 参数 : result:录音结果,true表示成功,false或者nil表示失败 size:number类型,录音文件的大小,单位是字节,在result为true时才有意义 返回值:无 ]] function rcdcb(result,size) log.info("testRecord.rcdcb",result,size) if result then rcdoffset,rcdsize,rcdcnt = 0,size,(size-1)/RCD_READ_UNIT+1 sys.timerLoopStart(readrcd,1000) end end --定时1s,录音5s sys.timerStart(record.start,1000,5,rcdcb) ``` ## 常见问题 - **为什么设置通道没用?** 1:通道设置是否正确 2:看mic ,喇叭,否损坏,固件是否选对