音频采集器
本地音频文件
构造音频采集器,如果创建失败可以查看技能日志或输出来定位错误原因,本地麦克风使用默认参数采集数据,采样率44100,位宽16bit,双声道采集,每一帧采样点数1024。
- 接口调用
1.0.8及以上固件版本
static std::shared_ptr<AudioCapture> hilens::AudioCapture::Create(const std::string filePath)
1.1.0及以上固件版本
static std::shared_ptr<AudioCapture> Create(const struct AudioProperties& property)
- 参数说明
表1 参数说明 参数名
说明
filePath
参数为音频文件在HiLens Kit设备上的绝对路径(不支持中文)时,从该文件获取音频数据。
property
本地麦克风录音参数。结构体定义如下:
struct AudioProperties{ unsigned int enSamplerate; unsigned int enBitwidth; unsigned int u32PtNumPerFrm; unsigned int soundMode; }
结构体各成员取值范围:
- enSamplerate(采样率):可取值8000,12000,11025,16000,22050,24000,32000,44100,48000,64000,96000。
- enBitwidth(采样位宽):取值1(表示位宽16bit)。
- u32PtNumPerFrm(每帧采样点数): 取值范围[80, 2048]。
- soundMode(声道模式):取值0(单声道)和1(双声道)。
- 每帧的采样点个数u32PtNumPerFrm和采样率enSamplerate的取值决定了硬件产生中断的频率,频率过高会影响系统的性能,跟其他业务也会相互影响,建议这两个参数的取值满足算式:“(u32PtNumPerFrm * 1000)/enSamplerate >=10”,比如在采样率为16000Hz时,建议设置采样点个数大于或者等于 160。
- 本地麦克风只有一个,不支持多个进程设置不同录音参数,先设置的生效,后设置的如果参数有不同,会设置失败。
- 本接口与播放音频文件的接口不可同时调用。
- 返回值
成功则返回音频采集器实例,失败则返回nullptr。