更新时间:2023-06-15 GMT+08:00

音频采集器

本地音频文件

构造音频采集器,如果创建失败可以查看技能日志或输出来定位错误原因,本地麦克风使用默认参数采集数据,采样率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。