模拟语音

概述

模块提供了两路模拟音频输入通道和三路模拟输出通道,支持通话、录音和播放等功能。

接口

接口名

接口号

作用

麦克模拟输入AIN

MIC+

27

音频输入通道1,已内置麦克偏置电路

麦克模拟输入AIN

MIC-

26

音频输入通道1,已内置麦克偏置电路

喇叭输出AOUT

SPK+

25

喇叭输出正端

喇叭输出AOUT

SPK-

24

喇叭输出负端

AIN可以用作麦克风输入或模拟音频信号输入。麦克风通常选用驻极体麦克风。AIN是差分输入。 AOUT通道可以直接驱动8欧姆的喇叭。AOUT通道为差分输出。

麦克风接口参考电路

AIN通道内置驻极体麦克风偏置电压。麦克风通道参考电路下图所示: image1

音频输出接口参考电路

SPK音频输出接口可以直接与驱动8欧姆喇叭。参考电路如下: image2

AT版本相关控制指令

##设置 TTS 播放参数: AT+CTTSPARAM

语法规则

命令类型

语法

返回

设置命令

AT+CTTSPARAM=,,,[,]

查询指令

AT+CTTSPARAM?

+CTTSPARAM:,,, , OK

测试命令

AT+CTTSPARAM=?

OK

参数定义

参数

定义

取值

对取值的说明

TTS播放音量

0-100

缺省值为50

TTS播 放模式,range: 0-3

0

auto read digit, and read digit based on number rule first

1

auto read digit, and read digit based on telegram rule first

2

read digit based on telegram rule

3

read digit based on number rule

TTS播放音高

1-100

缺省值为50

TTS播放速度

1-100

缺省值为50

TTS播放通道

0

main channel

1

aux channel

##语音文件播放: AT+CAUDPLAY

语法规则:

命令类型

语法

返回

设置命令

AT+CAUDPLAY=[,]

OK

查询命令

AT+CAUDPLAY?

+CAUDPLAY:

OK

测试命令

AT+CAUDPLAY=?

+CAUDPLAY: (取值范围列表),

OK

参数定义:

参数

定义

取值

对取值的说明

使用模式

1

开始播放(start)

2

停止播放(stop)

3

暂停播放(pause)

4

恢复播放(resume)

音频文件名字

PCM,WAV,MP3。 需要加后缀

** 举例:**

命令(→)/ 返回(←)

实例

解释和说明

A T+FSCREATE=“111.mp3”

创建音频文件

OK

AT+FSWRITE =“111.mp3”,0,6314,20

输入音频文件。 这 里长度6314只是举例, 请以实际为准

>

收到该指令后发送数据

OK

AT+ CAUDPLAY=1,“111.mp3”

播放音频文件 注: 音 频文件名字需要加后缀

OK

AT+CAUDPLAY=3

暂停播放

OK

AT+CAUDPLAY=4

恢复播放

OK

AT+CAUDPLAY=2

终止播放

OK

语音通道切换: AT+AUDCH

语法规则:

命令类型

语法

返回

设置命令

AT+AUDCH=,

OK

查询命令

AT+AUDCH?

+AUDCH: ,

OK

测试命令

AT+AUDCH=?

+AUDCH: (range of s,list ofs)

OK

** 参数定义: **

参数

定义

取值

对取值的说明

音频输出通道

0

通道 0, 听筒(receiver)

1

通道 1, 耳机(headphone)

2

通道 2, 喇叭(speaker)

音频输入通道

0

main mic

1

auxilary mic

2

headphone mic left

3

headphone mic right

RECEIVER 音量控制: AT+CLVL

** 语法规则:**

命令类型

语法

返回

设置命令

AT+CLVL=

OK

查询命令

AT+CLVL?

+CLVL:

OK

测试命令

AT+CLVL=?

+CLVL: (取值范围)

OK

参数定义:

参数

定义

取值

对取值的定义

音量等级

0~100

0 声音最小, 100 声音最大。 缺省值为 60

SPK 音量控制: AT+CRSL

** 语法规则:**

命令类型

语法

返回

设置命令

AT+CRSL=

OK

查询命令

AT+CRSL?

+CRSL:

OK

测试命令

AT+CRSL=?

+CRSL: (取值范围)

OK

参数定义:

参数

定义

取值

对取值的定义

音量等级

0~100

0 声音最小, 100 声音最大。 缺省值为 60

LUAT开发相关接口

相关的audio控制接口可以参考LUAT_API AUDIO章节 相关示例,请参考:raw-latex:script_LuaTask_VX.X.X:raw-latex:demo:raw-latex:`\audio`

###audio.play 播放音频

  • 语法 audio.play(priority,type,path,vol,cbFnc,dup,dupInterval)

  • 参数

参数

释义

priority

音频优先级,数值越大,优先级越高

type

音频类型,目前仅支 持“FILE”、“TTS”、“TTSCC”,“RECORD”

path

音 频文件路径,跟typ有关,typ为“FIL E”时:表示音频文件路径,typ为“TTS ”时:表示要播放的UTF8编码格式的数 据,typ为“TTSCC”时:表示要播放给 通话对端的UTF8编码格式的数据,ty p为“RECORD”时:表示要播放的录音id

vol

播放音量,取值范围0到7,0为静音

cbFnc

音频播 放结束时的回调函数,cbFnc(result)

dup

是否循环播 放,true循环,false或者nil不循环

dupInterval

循环播放间隔(单位 毫秒),dup为true时,此值才有意义

  • 返回 无

audio.stop

停止音频播放

  • 语法 audio.stop(cbFnc)

  • 参数

参数

释义

cbFnc

停止音频播放的回调函数(停止 结果通过此函数通知用户),回调函数的调用形式为cbFnc(result)

  • 返回 无

###audio.setVolume 设置喇叭音量等级

  • 语法 audio.setVolume(vol)

  • 参数

参数

释义

vol

音量值为0-7,0为静音

  • 返回 设置成功返回true,失败返回false

###audio.setCallVolume 设置通话音量等级

  • 语法 audio.setCallVolume(vol)

  • 参数

参数

释义

vol

音量值为0-7,0为静音

  • 返回 设置成功返回true,失败返回false

###audio.setMicVolume 设置麦克音量等级

  • 语法 audio.setMicVolume(vol)

  • 参数

参数

释义

vol

音量值为0-15,0为静音

  • 返回 设置成功返回true,失败返回false

###audio.getVolume 获取喇叭音量等级 - 语法 audio.getVolume()

  • 返回 喇叭音量等级

###audio.getCallVolume 获取通话音量等级 - 语法 audio.getCallVolume()

  • 返回 通话音量等级

audio.getMicVolume

获取麦克音量等级

  • 语法 audio.getMicVolume(vol)

  • 返回 麦克音量等级

###audio.setStrategy 设置优先级相同时的播放策略

  • 语法 audio.setStrategy(strategy)

  • 参数

参数

释义

strategy

优先级相同时的 播放策略;0:表示继续播放正在播放的音频,忽略请求播放的 新音频;1:表示停止正在播放的音频,播放请求播放的新音频

  • 返回 nil

###audio.setTTSSpeed 设置TTS朗读速度 - 语法 audio.setTTSSpeed(speed)

  • 参数

参数

释义

speed

速度范围为0-100,默认50

  • 返回 设置成功返回true,失败返回false

###audio.setChannel 设置音频输出通道 - 语法 setChannel(channel)

  • 参数

参数

释义

channel

1:headphone耳机 2:speaker喇叭

  • 返回 nil

CSDK开发相关接口

具体接口定义参考CSDK中iot_audio.h ###iot_auido_open_tch 在通话中打开语音

  • 语法

BOOL iot_auido_open_tch(                                                                    VOID                 ); -参数 无

  • 返回 TRUE: 成功, FALSE: 失败

###iot_audio_close_tch 通话结束时调用,关闭语音

  • 语法

BOOL iot_audio_close_tch(                                                                   VOID                  ) {     return IVTBL(close_tch)(); }

  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_play_tone 播放TONE音

  • 语法

BOOL iot_audio_play_tone(
                        E_AMOPENAT_TONE_TYPE toneType,
                        UINT16 duration,
                        E_AMOPENAT_SPEAKER_GAIN volume
                 );
  • 参数

参数

释义

toneType

TONE音类型

duration

播放时长

volume

播放音量

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_stop_tone 停止播放TONE音

  • 语法

BOOL iot_audio_stop_tone(
                        VOID
                 );
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_play_dtmf

  • 语法

BOOL iot_audio_play_dtmf(
                        E_AMOPENAT_DTMF_TYPE dtmfType,
                        UINT16 duration,
                        E_AMOPENAT_SPEAKER_GAIN volume
                 );
  • 参数

参数

释义

dtmfType

DTMF类型

duration

播放时长

volume

播放音量

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_stop_dtmf 停止播放DTMF音 - 语法

BOOL iot_audio_stop_dtmf(
                        VOID
                 );
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_play_music 播放音频

  • 语法

BOOL iot_audio_play_music(T_AMOPENAT_PLAY_PARAM*  playParam);
  • 参数

参数

释义

playParam

播放参数

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_stop_music 停止音频播放

  • 语法

BOOL iot_audio_stop_music(
                        VOID
                  );
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_pause_music 暂停音频播放

  • 语法

BOOL iot_audio_pause_music(
                        VOID
                   );
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_resume_music 恢复音频播放 - 语法

BOOL iot_audio_resume_music(
                        VOID
                    );
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_mute_speaker 设置扬声器静音

  • 语法

BOOL iot_audio_mute_speaker(
                        VOID
                    );
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_unmute_speaker 解除扬声器静音

  • 语法

BOOL iot_audio_unmute_speaker(
                        VOID
                      );
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_set_speaker_vol 设置扬声器的音量值 - 语法

BOOL iot_audio_set_speaker_vol(
                        UINT32 vol
                        );
  • 参数

参数

释义

vol

设置扬声器音量值

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_get_speaker_vol 获取扬声器的音量值

  • 语法

BOOL iot_audio_get_speaker_vol(
                        VOID
                    );
  • 参数 无

  • 返回 返回扬声器的音量值

###iot_audio_set_sph_vol 设置通话音量值 - 语法

BOOL iot_audio_set_sph_vol(
                        UINT32 vol
                        );
  • 参数

参数

释义

vol

设置通话音量值

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_get_sph_vol 获取通话的音量值

  • 语法

BOOL iot_audio_get_sph_vol(
                        VOID
                    );
  • 参数 无

  • 返回 返回通话的音量值

###iot_audio_set_channel 设置音频通道 - 语法

BOOL iot_audio_set_channel(
                        E_AMOPENAT_AUDIO_CHANNEL channel
                   );
  • 参数

参数

释义

channel

音频通道

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_get_current_channel 获取当前通道 - 语法

E_AMOPENAT_AUDIO_CHANNEL iot_audio_get_current_channel(
                        VOID
                                               );
  • 参数 无

  • 返回 返回当前通道

###iot_audio_rec_start 开始录音 - 语法

BOOL iot_audio_rec_start(
                                E_AMOPENAT_RECORD_PARAM* param,
                                AUD_RECORD_CALLBACK_T cb);
  • 参数

参数

释义

param

录音参数

cb

获取录音数据回调

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_rec_stop 停止录音 - 语法

BOOL iot_audio_rec_stop();
  • 参数 无

  • 返回 成功返回TRUE,失败返回FALSE

###iot_audio_streamplay 流播放 - 语法

int iot_audio_streamplay(E_AMOPENAT_AUD_FORMAT playformat,AUD_PLAY_CALLBACK_T cb,char* data,int len);
  • 参数

参数

释义

playformat

数据流类型

cb

数据流回调函数

data

数据流

len

数据流长度

  • 返回 0: 播放长度 -1: 播放失败