# 音频管理
音频设备管理主要用到 JCMediaDevice (opens new window) 类中的方法,具体如下:
# 选择音频输入设备
在发起通话前或者加入频道前,您可以通过设置 audioParam (opens new window) 属性来选择音频输入的设备。
// 1. 使用默认音频源
mediaDevice.audioParam.audioInputDevice =
JCMediaDevice.JCMediaDeviceAudioParam.INPUT_DEFAULT;
// 2. 发起通话,内部会自动调用 startAudio()方法开启音频
call.call("userID", true, { extraParam: "ticket" });
音频输入设备分为以下几种类型:
静态变量名 | 值 | 含义 |
---|---|---|
INPUT_DEFAULT | DEFAULT | 默认音频源 |
INPUT_MIC | MIC | 麦克风音频源 |
INPUT_VOICE_UPLINK | VOICE_UPLINK | 语音呼叫上行链路(Tx)音频源 |
INPUT_VOICE_DOWNLINK | VOICE_DOWNLINK | 语音呼叫下行(Rx)音频源 |
INPUT_VOICE_CALL | VOICE_CALL | 语音通话上行加下行音频源 |
INPUT_CAMCORDER | CAMCORDER | 调整了用于视频录制的麦克风音频源,方向相同作为相机(如果有) |
INPUT_VOICE_RECOGNITION | VOICE_RECOGNITION | 麦克风音源经过调整,可进行语音识别 |
INPUT_VOICE_COMMUNICATION | IVOICE_COMMUNICATION | 已针对语音通信(如 VoIP)调整了麦克风音频源。例如,如果可供使用的话,它将使用回声消除或自动增益控制 |
# 获取音频路由类型
可以调用 getAudioRouteType (opens new window) 方法获取音频路由类型。
/**
* 音频路由类型
*
* @return 音频路由类型
*/
getAudioRouteType(): number;
音频路由类型有以下几种:
/** 听筒 */
AUDIO_ROUTE_RECEIVER = 0;
/** 扬声器 */
AUDIO_ROUTE_SPEAKER = 1;
/** 有线耳机 */
AUDIO_ROUTE_HEADSET = 2;
/** 蓝牙耳机 */
AUDIO_ROUTE_BLUETOOTH = 3;
# 开启/关闭扬声器
可以调用 enableSpeaker (opens new window) 方法开启/关闭扬声器。
/**
* 开启/关闭扬声器
*
* @param enable 是否开启
* @return 操作结果,true 表示成功,false 表示失败
*/
enableSpeaker(enable: boolean): boolean;
# 开启/关闭音频设备
可以调用 startAudio (opens new window) 方法开启音频设备,调用 stopAudio (opens new window) 方法关闭音频设备。
/**
* 启动音频,一般正式开启通话前需要调用此接口
*
* @return 成功返回 true,失败返回 false
*/
startAudio(): boolean;
/**
* 停止音频,一般在通话结束时调用
*
* @return 成功返回 true,失败返回 false
*/
stopAudio(): boolean;
# 检查音频是否已启动
可以调用 isAudioStart (opens new window) 方法检查音频是否已启动。
/**
* 音频是否已启动
*
* @return true 表示已启动,false 表示未启动
*/
isAudioStart(): boolean;
# 音频事件
在使用 JCMediaDevice (opens new window) 音频功能时,需要实现 JCMediaDeviceCallback (opens new window) 回调接口以监听音频事件:
/**
* 音频输出类型变化
*
* @param type 音频输出类型
*/
onAudioOutputTypeChange?(type: number): void;