# 音频管理
音频设备管理主要用到 JCMediaDevice 类中的方法,具体如下:
# 获取音频输入设备列表
通过 JCMediaDevice 类的 audioInputs 属性和 audioInput 属性获取音频输入设备列表及当前音频输入设备,将会返回 JCMediaDeviceAudio 对象。
/// 音频输入设备列表
NSArray<JCMediaDeviceAudio*>* __nonnull audioInputs;
/// 当前音频输入设备
JCMediaDeviceAudio* __nullable audioInput;
JCMediaDeviceAudio 对象的属性如下:
名称 | 类型 | 描述 |
---|---|---|
audioId | NSString | 音频设备 id |
audioName | NSString | 音频设备名字 |
input | bool | 输入还是输出设备 |
# 选择音频输入设备
在发起通话前或者加入频道前,您可以通过设置 audioInput (opens new window) 属性来选择音频输入的设备。
// 获取音频输入设备列表
NSArray<JCMediaDeviceAudio*>* devices = JCManager.shared.mediaDevice.audioInputs;
// 选择第一个音频输入设备
JCManager.shared.mediaDevice.audioInput = devices[0];
# 获取音频输出设备列表
通过 JCMediaDevice 类的 audioOutputs 属性和 audioOutput 属性获取音频输出设备列表及当前音频输出设备。
/// 音频输出设备列表
NSArray<JCMediaDeviceAudio*>* __nonnull audioOutputs;
/// 当前音频输出设备
JCMediaDeviceAudio* __nullable audioOutput;
JCMediaDeviceAudio 对象的属性如下:
名称 | 类型 | 描述 |
---|---|---|
audioId | NSString | 音频设备 id |
audioName | NSString | 音频设备名字 |
input | bool | 输入还是输出设备 |
示例代码
// 获取音频输入设备列表
NSArray<JCMediaDeviceAudio*>* audioInputDevices = mediaDevice.audioInputs;
// 获取音频输出设备列表
NSArray<JCMediaDeviceAudio*>* audioOutputDevices = mediaDevice.audioOutputs;
# 开启/关闭音频设备
/**
* @brief 启动音频,一般正式开启通话前需要调用此接口
* @return 成功返回 true,失败返回 false
*/
-(bool)startAudio;
/**
* @brief 停止音频,一般在通话结束时调用
* @return 成功返回 true,失败返回 false
*/
-(bool)stopAudio;
示例代码
// 打开音频设备
[mediaDevice startAudio];
// 关闭音频设备
[mediaDevice stopAudio];