通用设备管理
- macOS
更新时间不可用
enumerateDevices:
枚举系统中的所有音频和视频设备。
- (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));该方法返回一个 NSArray 对象,其中包含系统中的所有音频和视频设备。你可以使用 NSArray 类型的 AgoraRtcDeviceInfo 对象来枚举设备。
注: 请勿在主线程中调用此方法。
参数
| 参数名 | 描述 |
|---|---|
type | 设备类型,包括音频采集、音频播放、视频采集或视频播放设备。详见 AgoraMediaDeviceType。 |
返回值
- 方法调用成功,返回一个包含所有音频和视频设备的
NSArray对象,详见 AgoraRtcDeviceInfo。 - 方法调用失败,返回 nil。
所属接口类
getDeviceInfo:
获取当前设备名称。
- (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));你可以通过该方法,根据 type 参数的设置,获取当前的音频或视频采集设备。
参数
| 参数名 | 描述 |
|---|---|
type | 设备类型,包括音频采集、音频播放、视频采集或视频播放设备。详见 AgoraMediaDeviceType。 |
返回值
- 方法调用成功时,返回一个 AgoraRtcDeviceInfo 对象。
- 方法调用失败时,返回 nil。
所属接口类
getDeviceVolume:
获取当前设备的音量。
- (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));参数
| 参数名 | 描述 |
|---|---|
type | 设备类型,包括音频采集、音频播放、视频采集或视频播放设备。详见 AgoraMediaDeviceType。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
monitorDeviceChange:
监控设备状态变化。
- (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));你可以通过该方法监控外部音视频设备(如外接摄像头)的插拔和更换。
参数
所属接口类
setDeviceVolume:volume:
设置指定设备的音量。
- (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));设置音频或视频采集或播放设备的音量。
注: 请在加入频道后调用该方法。
参数
| 参数名 | 描述 |
|---|---|
type | 设备类型,包括音频采集、音频播放、视频采集或视频播放设备,详见 AgoraMediaDeviceType。 |
volume |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
rtcEngine:device:type:stateChanged:
报告设备状态的变化回调。
- (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine device:(NSString * _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger)state NS_SWIFT_NAME(rtcEngine(_:device:type:stateChanged:));注: 该回调仅适用于 macOS 平台。
调用时机
该回调在设备状态发生变化时被触发。
参数
| 参数名 | 描述 |
|---|---|
engine | 你使用的 AgoraRtcEngineKit 实例。详见 AgoraRtcEngineKit。 |
deviceId | |
deviceType | 设备类型,详见 AgoraMediaDeviceType。 |
state |