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 ,喇叭,否损坏,固件是否选对