音视频设备管理
支持macOS音、视频输入输入出设备的获取,切换等;
获取视频输入设备
- API介绍
获取所有视频采集设备
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 获取视频采集设备
*
* @return 所有视频采集设备
*/
- (NSArray<NIMNetCallVideoDevice *> *)videoCaptureDevices;
@end
- 返回值说明
类型 | 说明 | ||
---|---|---|---|
NSArray\ |
所有视频采集设备 |
- 示例
NSArray *videoDevices = [[NIMAVChatSDK sharedSDK].netCallManager videoCaptureDevices];
当前视频视频输入设备
- API介绍
获取所有视频采集设备
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 获取当前视频采集设备
*
* @return 当前视频采集设备
*/
- (NIMNetCallVideoDevice *)currentCaptureDevice;
@end
- 返回值说明
类型 | 说明 | ||
---|---|---|---|
NIMNetCallVideoDevice * | 视频采集设备 |
- 示例
NIMNetCallVideoDevice *videoDevice = [[NIMAVChatSDK sharedSDK].netCallManager currentCaptureDevice];
切换视频输入设备
- API介绍
切换视频采集设备
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 切换视频采集设备
* @param videoDevice 视频采集设备
*/
- (BOOL)switchCaptureDeviceWithDevice:(NIMNetCallVideoDevice *)videoDevice;
@end
- 返回值说明
参数 | 类型 | 说明 | ||
---|---|---|---|---|
videoDevice | NIMNetCallVideoDevice * | 视频采集设备 |
- 示例
- (void)switchDevice:(NIMNetCallVideoDevice *)videoDevice {
BOOL success = [[NIMAVChatSDK sharedSDK].netCallManager switchCaptureDeviceWithDevice: videoDevice];
}
获取音频输入输出设备
- API介绍
获取所有视频采集设备,只支持macOS
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 获取macOS下所有音频输入输出设备
*
@return 所有音频设备
*/
- (NSArray<NIMNetCallMacAudioDevice *> *)audioDevices API_UNAVAILABLE(ios);
@end
- 返回值说明
类型 | 说明 | ||
---|---|---|---|
NSArray\ |
所有视频采集设备 |
- 示例
NSArray *audioDevices = [[NIMAVChatSDK sharedSDK].netCallManager audioDevices];
当前音频输入设备
- API介绍
获取所有视频采集设备,只支持macOS
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 获取macOS当前音频输入设备
*
* @return 音频输入设备
*/
- (NIMNetCallMacAudioDevice *)currentAudioInputDevice API_UNAVAILABLE(ios);
@end
- 返回值说明
类型 | 说明 | ||
---|---|---|---|
NIMNetCallMacAudioDevice * | 所有音频输入设备 |
- 示例
NIMNetCallMacAudioDevice *audioDevice = [[NIMAVChatSDK sharedSDK].netCallManager currentAudioInputDevice];
当前音频输出设备
- API介绍
获取所有视频采集设备,只支持macOS
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 获取macOS当前音频输出设备
*
* @return 音频输出设备
*/
- (NIMNetCallMacAudioDevice *)currentAudioOutputDevice API_UNAVAILABLE(ios);
@end
- 返回值说明
类型 | 说明 | ||
---|---|---|---|
NIMNetCallMacAudioDevice * | 所有音频采集设备 |
- 示例
NIMNetCallMacAudioDevice *aduioDevice = [[NIMAVChatSDK sharedSDK].netCallManager currentAudioOutputDevice];
所有音频输入设备
- API介绍
获取所有视频采集设备,只支持macOS
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 获取macOS所有音频输入设备
*
* @return 音频输入设备
*/
- (NSArray<NIMNetCallMacAudioDevice *> *)audioInputDevices API_UNAVAILABLE(ios);
@end
- 返回值说明
类型 | 说明 | ||
---|---|---|---|
NSArray\ |
所有音频输入设备 |
- 示例
NSArray *audioDevices = [[NIMAVChatSDK sharedSDK].netCallManager audioInputDevices];
所有音频输出设备
- API介绍
获取所有视频采集设备,只支持macOS
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 获取macOS音频输出设备
*
* @return 音频输出设备
*/
- (NSArray<NIMNetCallMacAudioDevice *> *)audioOutputDevices API_UNAVAILABLE(ios);
@end
- 返回值说明
类型 | 说明 | ||
---|---|---|---|
NSArray\ |
所有视频输出设备 |
- 示例
NSArray *videoDevices = [[NIMAVChatSDK sharedSDK].netCallManager audioOutputDevices];
切换音频输入设备
- API介绍
获取所有视频采集设备,只支持macOS
- API原型
@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;
}
音频外部播放设备状态回调
- API介绍
音频外部播放设备状态回调,播放设备可能有耳机,音箱。希望上层实现一个设备列表让用户选择插入的设备类型。
- API原型
@protocol NIMNetCallManagerDelegate <NSObject>
/**
* 音频外部播放设备状态回调
*
* @param status 状态
*
* @discussions 播放设备可能有耳机,音箱。希望上层实现一个设备列表让用户选择插入的设备类型。
*/
- (void)onAudioExternalDeviceStateChanged:(NIMNetCallAudioExternalDeviceStatus)status;
@end
- 参数说明
参数 | 类型 | 说明 | ||
---|---|---|---|---|
status | NIMNetCallAudioExternalDeviceStatus | 状态 |
- 示例
- (void)onAudioExternalDeviceStateChanged:(NIMNetCallAudioExternalDeviceStatus)status
{
if (status == NIMNetCallAudioExternalDeviceStatusPlugin) {
//设备插入 请选择插入设备的类型
[[NIMAVChatSDK sharedSDK].netCallManager selectAudioExternalDevice:deviceType];
}
else{
//设备拔出
}
}
选择音频外部设备类型
- API介绍
选择音频外部设备类型,目前该接口只针对插入设备后选择设备类型的场景,SDK根据设备类型自动选择合适的音频配置,与 onAudioExternalDeviceStateChanged 配合使用。
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 选择音频外部设备类型
*
* @param deviceType 设备类型
*
* @discussion 目前该接口只针对插入设备后选择设备类型的场景,SDK根据设备类型自动选择合适的音频配置,与 onAudioExternalDeviceStateChanged 配合使用。
*
*/
- (void)selectAudioExternalDevice:(NIMNetCallAudioExternalDeviceType)deviceType;
@end
- 参数说明
参数 | 类型 | 说明 | ||
---|---|---|---|---|
deviceType | NIMNetCallAudioExternalDeviceType | 设备类型 |
- 示例
- (void)onAudioExternalDeviceStateChanged:(NIMNetCallAudioExternalDeviceStatus)status
{
if (status == NIMNetCallAudioExternalDeviceStatusPlugin) {
//设备插入 请选择插入设备的类型
[[NIMAVChatSDK sharedSDK].netCallManager selectAudioExternalDevice:deviceType];
}
else{
//设备拔出
}
}
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×