# 音频管理
音频设备管理主要用到 JCMediaDevice 类中的方法,具体如下:
# 选择音频输入设备
在发起通话前或者加入频道前,您可以通过设置 audioParam (opens new window) 属性来选择音频输入的设备。
// 1. 使用默认音频源
this.mediaDevice.audioParam.audioInputDevice = JCMediaDevice.INPUT_DEFAULT;
// 2. 发起通话,内部会自动调用 startAudio()方法开启音频
this.call.call("userID", true, new JCCall.CallParam("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 | VOICE_COMMUNICATION | 已针对语音通信(如 VoIP)调整了麦克风音频源。例如,如果可供使用的话,它将使用回声消除或自动增益控制 |
# 获取音频路由类型
通过调用 getAudioRouteType (opens new window) 方法获取音频路由类型。
/**
* 音频路由类型
*
* @return 音频路由类型
*/
getAudioRouteType(): number;
音频路由类型(AudioRouteType)有以下几种
/** 听筒 */
static readonly AUDIO_ROUTE_RECEIVER: number = 0;
/** 扬声器 */
static readonly AUDIO_ROUTE_SPEAKER: number = 1;
/** 有线耳机 */
static readonly AUDIO_ROUTE_HEADSET: number = 2;
/** 蓝牙耳机 */
static readonly AUDIO_ROUTE_BLUETOOTH: number = 3;
# 开启/关闭扬声器
通过调用 enableSpeaker (opens new window) 方法开启/关闭扬声器。
/**
* 开启/关闭扬声器
*
* @param enable 是否开启
*/
enableSpeaker(enable: boolean): void;
# 开启/关闭音频设备
通过调用 startAudio (opens new window) 方法开启音频设备。
/**
* 启动音频,一般正式开启通话前需要调用此接口
*
* @return 成功返回 true,失败返回 false
*/
startAudio(): boolean;
通过调用 stopAudio (opens new window) 方法关闭音频设备。
/**
* 停止音频,一般在通话结束时调用
*
* @return 成功返回 true,失败返回 false
*/
stopAudio(): boolean;
示例代码
// 开启扬声器
this.mediaDevice.enableSpeaker(true);
// 开启音频设备
this.mediaDevice.startAudio();
// 关闭音频设备
this.mediaDevice.stopAudio();