通用设备管理

  • macOS

更新时间不可用

enumerateDevices:

枚举系统中的所有音频和视频设备。

Objective-C
- (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));

该方法返回一个 NSArray 对象,其中包含系统中的所有音频和视频设备。你可以使用 NSArray 类型的 AgoraRtcDeviceInfo 对象来枚举设备。

注: 请勿在主线程中调用此方法。

参数

参数名描述
type

设备类型,包括音频采集、音频播放、视频采集或视频播放设备。详见 AgoraMediaDeviceType。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 方法调用成功,返回一个包含所有音频和视频设备的 NSArray 对象,详见 AgoraRtcDeviceInfo。
  • 方法调用失败,返回 nil。

所属接口类

getDeviceInfo:

获取当前设备名称。

Objective-C
- (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));

你可以通过该方法,根据 type 参数的设置,获取当前的音频或视频采集设备。

参数

参数名描述
type

设备类型,包括音频采集、音频播放、视频采集或视频播放设备。详见 AgoraMediaDeviceType。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 方法调用成功时,返回一个 AgoraRtcDeviceInfo 对象。
  • 方法调用失败时,返回 nil。

所属接口类

getDeviceVolume:

获取当前设备的音量。

Objective-C
- (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));

参数

参数名描述
type

设备类型,包括音频采集、音频播放、视频采集或视频播放设备。详见 AgoraMediaDeviceType。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

monitorDeviceChange:

监控设备状态变化。

Objective-C
- (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));

你可以通过该方法监控外部音视频设备(如外接摄像头)的插拔和更换。

参数

参数名描述
enabled

是否监控设备状态变化:

  • YES:开启设备状态监控。
  • NO:关闭设备状态监控。
表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类

setDeviceVolume:volume:

设置指定设备的音量。

Objective-C
- (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));

设置音频或视频采集或播放设备的音量。

注: 请在加入频道后调用该方法。

参数

参数名描述
type

设备类型,包括音频采集、音频播放、视频采集或视频播放设备,详见 AgoraMediaDeviceType。

volume

指定设备的音量,取值范围为 [0, 255]。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

rtcEngine:device:type:stateChanged:

报告设备状态的变化回调。

Objective-C
- (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

设备的 ID。

deviceType

设备类型,详见 AgoraMediaDeviceType。

state

设备的状态:

  • 0:已添加。
  • 8:已移除。
表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类