音视频设备管理

支持macOS音、视频输入输入出设备的获取,切换等;

获取视频输入设备

获取所有视频采集设备

@protocol NIMNetCallManager <NSObject>

/**
 *  获取视频采集设备
 *
 *  @return 所有视频采集设备
 */
- (NSArray<NIMNetCallVideoDevice *> *)videoCaptureDevices;

@end
类型 说明
NSArray\ * 所有视频采集设备

NSArray *videoDevices = [[NIMAVChatSDK sharedSDK].netCallManager videoCaptureDevices];

当前视频视频输入设备

获取所有视频采集设备

@protocol NIMNetCallManager <NSObject>

/**
 *  获取当前视频采集设备
 *
 *  @return 当前视频采集设备
 */
- (NIMNetCallVideoDevice *)currentCaptureDevice;

@end
类型 说明
NIMNetCallVideoDevice * 视频采集设备

NIMNetCallVideoDevice *videoDevice = [[NIMAVChatSDK sharedSDK].netCallManager currentCaptureDevice];

切换视频输入设备

切换视频采集设备

@protocol NIMNetCallManager <NSObject>

/**
 *  切换视频采集设备

 *  @param videoDevice 视频采集设备
 */
- (BOOL)switchCaptureDeviceWithDevice:(NIMNetCallVideoDevice *)videoDevice;

@end
参数 类型 说明
videoDevice NIMNetCallVideoDevice * 视频采集设备

- (void)switchDevice:(NIMNetCallVideoDevice *)videoDevice {
    BOOL success = [[NIMAVChatSDK sharedSDK].netCallManager switchCaptureDeviceWithDevice: videoDevice];
}

获取音频输入输出设备

获取所有视频采集设备,只支持macOS

@protocol NIMNetCallManager <NSObject>

/**
 *  获取macOS下所有音频输入输出设备
 *
 @return 所有音频设备
 */
- (NSArray<NIMNetCallMacAudioDevice *> *)audioDevices API_UNAVAILABLE(ios);

@end
类型 说明
NSArray\ * 所有视频采集设备
NSArray *audioDevices = [[NIMAVChatSDK sharedSDK].netCallManager audioDevices];

当前音频输入设备

获取所有视频采集设备,只支持macOS

@protocol NIMNetCallManager <NSObject>

/**
 *  获取macOS当前音频输入设备
 *
 *  @return 音频输入设备
 */
- (NIMNetCallMacAudioDevice *)currentAudioInputDevice API_UNAVAILABLE(ios);
@end
类型 说明
NIMNetCallMacAudioDevice * 所有音频输入设备
NIMNetCallMacAudioDevice *audioDevice = [[NIMAVChatSDK sharedSDK].netCallManager currentAudioInputDevice];

当前音频输出设备

获取所有视频采集设备,只支持macOS

@protocol NIMNetCallManager <NSObject>

/**
 *  获取macOS当前音频输出设备
 *
 *  @return 音频输出设备
 */
- (NIMNetCallMacAudioDevice *)currentAudioOutputDevice API_UNAVAILABLE(ios);
@end
类型 说明
NIMNetCallMacAudioDevice * 所有音频采集设备
NIMNetCallMacAudioDevice *aduioDevice = [[NIMAVChatSDK sharedSDK].netCallManager currentAudioOutputDevice];

所有音频输入设备

获取所有视频采集设备,只支持macOS

@protocol NIMNetCallManager <NSObject>

/**
 *  获取macOS所有音频输入设备
 *
 *  @return 音频输入设备
 */
- (NSArray<NIMNetCallMacAudioDevice *> *)audioInputDevices API_UNAVAILABLE(ios);
@end
类型 说明
NSArray\ * 所有音频输入设备

NSArray *audioDevices = [[NIMAVChatSDK sharedSDK].netCallManager audioInputDevices];

所有音频输出设备

获取所有视频采集设备,只支持macOS

@protocol NIMNetCallManager <NSObject>

/**
 *  获取macOS音频输出设备
 *
 *  @return 音频输出设备
 */
- (NSArray<NIMNetCallMacAudioDevice *> *)audioOutputDevices API_UNAVAILABLE(ios);

@end
类型 说明
NSArray\ * 所有视频输出设备

NSArray *videoDevices = [[NIMAVChatSDK sharedSDK].netCallManager audioOutputDevices];

切换音频输入设备

获取所有视频采集设备,只支持macOS

@protocol NIMNetCallManager <NSObject>

/**
 *  切换macOS的音频输入设备
 *
 *  @param device 目标音频采集设备

 *  @return 是否设置成功
 */
- (BOOL)switchAudioInputDeviceWithDevice:(NIMNetCallMacAudioDevice *)device API_UNAVAILABLE(ios);
@end
参数 类型 说明
device NIMNetCallMacAudioDevice * macOS 音频设备
- (BOOL)switchAudioDevice:(NIMNetCallMacAudioDevice *)audioDevice
    BOOL success = [[NIMAVChatSDK sharedSDK].netCallManager     switchAudioInputDeviceWithDevice: audioDevice];
    return success;
}