通过阅读本文,您可以了解到iOS SDK和Mac SDK的DingRtcEngine接口详情。
接口说明
目录
基础接口
API |
描述 |
支持的最低版本 |
获取一个DingRtcEngine实例。 |
3.0 |
|
销毁DingRtcEngine。 |
3.0 |
|
查询SDK当前版本号。 |
3.0 |
|
设置SDK日志文件保存路径。 |
3.0 |
|
设置日志等级。 |
3.0 |
|
根据错误码,获取错误码描述。 |
3.0 |
|
是否分发回调到主线程。 |
3.0 |
|
指定回调线程队列。 |
3.0 |
|
加入频道。 |
3.0 |
|
离开频道。 |
3.0 |
频道相关接口
API |
描述 |
支持的最低版本 |
加入频道。 |
3.0 |
|
离开频道。 |
3.0 |
|
获取状态:当前是否在频道中。 |
3.0 |
|
查询远端用户状态。 |
3.0 |
发布相关接口
API |
描述 |
支持的最低版本 |
是否推送本地视频流。 |
3.0 |
|
是否推送音频流。 |
3.0 |
|
查询是否设置推送视频流。 |
3.0 |
|
查询是否设置推送音频流。 |
3.0 |
|
启动屏幕分享(仅适用于iOS系统)。 |
3.0 |
|
停止屏幕分享。 |
3.0 |
|
查询是否设置推送屏幕分享。 |
3.0 |
|
根据桌面Id进行屏幕分享(仅适用于Mac系统)。 |
3.0 |
|
根据窗口id进行屏幕分享(仅适用于Mac系统)。 |
3.0 |
|
获取屏幕分享源信息(仅适用于Mac系统)。 |
3.0 |
|
设置订阅视频流分辨率规格。 |
3.0 |
|
设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。 |
3.0 |
|
停止/恢复订阅所有远端音频流,包含后入会成员的订阅。 |
3.0 |
|
停止/恢复订阅所有远端视频流,包含后入会成员的订阅。 |
3.0 |
|
停止/恢复订阅远端用户的视频流。 |
3.0 |
|
获取远端在线用户列表。 |
3.0 |
|
查询用户是否在线。 |
3.0 |
|
获取当前网络链接状态。 |
3.0 |
订阅相关接口
API |
描述 |
支持的最低版本 |
设置订阅视频流分辨率规格。 |
3.0 |
|
设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。 |
3.0 |
|
停止/恢复订阅所有远端音频流,包含后入会成员的订阅。 |
3.0 |
|
停止/恢复订阅所有远端视频流,包含后入会成员的订阅。 |
3.0 |
|
停止/恢复订阅远端用户的视频流。 |
3.0 |
视频相关接口
API |
描述 |
支持的最低版本 |
设置本地预览显示视图。 |
3.0 |
|
检查camera是否打开。 |
3.0 |
|
设置camera采集偏好。 |
3.0 |
|
禁用或启用本地视频采集。 |
3.0 |
|
是否将停止本地视频数据发送。 |
3.0 |
|
设置相机流视频编码属性。 |
3.0 |
|
开启或关闭视频美颜。 |
3.0 |
|
设置视频暗光增强功能。 |
3.0 |
|
设置视频去噪场景功能。 |
3.0 |
|
设置视频帧观察器。 |
3.0 |
|
开启本地视频预览。 |
3.0 |
|
关闭本地视频预览。 |
3.0 |
|
是否推送本地视频流。 |
3.0 |
|
设置屏幕流视频编码属性。 |
3.0 |
|
停止/恢复本地音频数据发送。 |
3.0 |
|
是否推送音频流。 |
3.0 |
|
设置远端视频显示视图。 |
3.0 |
|
切换前后摄像头(仅适用于iOS系统)。 |
3.0 |
|
设置摄像头缩放。 |
3.0 |
|
设置摄像头闪光灯开关。 |
3.0 |
|
摄像头是否支持手动聚焦。 |
3.0 |
|
设置摄像头手动聚焦点。 |
3.0 |
|
摄像头是否支持设置曝光点。 |
3.0 |
|
设置摄像头曝光点。 |
3.0 |
|
设置设备方向(仅适用于iOS系统)。 |
3.0 |
|
获取摄像头列表(仅适用于Mac系统)。 |
3.0 |
|
获取摄像头列表(仅适用于Mac系统)。 |
3.0 |
|
获取当前使用的摄像头名称(仅适用于Mac系统)。 |
3.0 |
|
获取当前使用的摄像头ID(仅适用于Mac系统)。 |
3.0 |
|
选择摄像头(Name)(仅适用于Mac系统)。 |
3.0 |
|
选择摄像头(ID)(仅适用于Mac系统)。 |
3.0 |
|
开始录制(仅适用于Mac系统) |
3.0 |
|
更新录制内容信息(仅适用于Mac系统)。 |
3.0 |
|
暂停录制(仅适用于Mac系统)。 |
3.0 |
|
重新开启录制(仅适用于Mac系统)。 |
3.0 |
|
停止录制(仅适用于Mac系统) |
3.0 |
|
对指定用户的视频进行截图,生成一张JPG格式的图片,并保存至指定的路径。 |
3.0 |
共享视频相关接口
API |
描述 |
支持的最低版本 |
设置屏幕流视频编码属性。 |
3.0 |
|
启动屏幕分享(仅适用于iOS系统)。 |
3.0 |
|
停止屏幕分享。 |
3.0 |
|
查询是否设置推送屏幕分享。 |
3.0 |
|
根据桌面Id进行屏幕分享(仅适用于Mac系统)。 |
3.0 |
|
根据窗口id进行屏幕分享(仅适用于Mac系统)。 |
3.0 |
|
获取屏幕分享源信息(仅适用于Mac系统)。 |
3.0 |
音频相关接口
API |
描述 |
支持的最低版本 |
停止/恢复本地音频数据发送。 |
3.0 |
|
设置音频输出为听筒还是扬声器(仅适用于iOS系统)。 |
3.0 |
|
获取当前音频输出为听筒还是扬声器(仅适用于iOS系统)。 |
3.0 |
|
设置音频profile。 |
3.0 |
|
获取系统中的录音设备列表(仅适用于Mac系统)。 |
3.0 |
|
获取使用的录音设备名称(仅适用于Mac系统)。 |
3.0 |
|
选择录音设备(Name)(仅适用于Mac系统)。 |
3.0 |
|
选择录音设备(ID)(仅适用于Mac系统)。 |
3.0 |
|
获取系统中的扬声器列表(仅适用于Mac系统)。 |
3.0 |
|
获取当前使用的扬声器名称(仅适用于Mac系统)。 |
3.0 |
|
获取当前使用的扬声器ID(仅适用于Mac系统)。 |
3.0 |
|
选择扬声器(Name)(仅适用于Mac系统)。 |
3.0 |
|
选择扬声器(ID)(仅适用于Mac系统)。 |
3.0 |
|
设置音频采集设备音量(仅适用于Mac系统)。 |
3.0 |
|
获取音频采集设备音量(仅适用于Mac系统)。 |
3.0 |
|
设置音频播放设备音量(仅适用于Mac系统)。 |
3.0 |
|
获取音频播放设备音量(仅适用于Mac系统)。 |
3.0 |
|
静音音频采集设备(仅适用于Mac系统)。 |
3.0 |
|
获取音频采集设备静音状态(仅适用于Mac系统)。 |
3.0 |
|
静音音频播放设备(仅适用于Mac系统)。 |
3.0 |
|
获取音频播放设备静音状态(仅适用于Mac系统)。 |
3.0 |
|
开始测试音频采集设备(仅适用于Mac系统)。 |
3.0 |
|
停止测试音频采集设备(仅适用于Mac系统)。 |
3.0 |
|
开始测试音频播放设备(仅适用于Mac系统)。 |
3.0 |
|
停止测试音频播放设备(仅适用于Mac系统)。 |
3.0 |
|
切换前后摄像头(仅适用于iOS系统)。 |
3.0 |
|
设置摄像头缩放。 |
3.0 |
|
设置摄像头闪光灯开关。 |
3.0 |
|
摄像头是否支持手动聚焦。 |
3.0 |
|
设置摄像头手动聚焦点。 |
3.0 |
|
摄像头是否支持设置曝光点。 |
3.0 |
|
设置摄像头曝光点。 |
3.0 |
|
设置设备方向(仅适用于iOS系统)。 |
3.0 |
|
获取使用的录音设备ID(仅适用于Mac系统)。 |
||
获取摄像头列表(仅适用于Mac系统)。 |
3.0 |
|
获取摄像头列表(仅适用于Mac系统)。 |
3.0 |
|
获取当前使用的摄像头名称(仅适用于Mac系统)。 |
3.0 |
|
获取当前使用的摄像头ID(仅适用于Mac系统)。 |
3.0 |
|
选择摄像头(Name)(仅适用于Mac系统)。 |
3.0 |
|
选择摄像头(ID)(仅适用于Mac系统)。 |
3.0 |
|
设置音量回调频率和平滑系数。 |
3.0 |
|
设置是否启用外部音频输入源。 |
3.0 |
|
输入外部音频数据推流到远端。 |
3.0 |
|
注册音频数据回调。 |
3.0 |
|
订阅音频数据。 |
3.0 |
|
设置外部视频源。 |
3.0 |
|
推送外部视频数据。 |
3.0 |
预览相关接口
API |
描述 |
支持的最低版本 |
开启本地视频预览。 |
3.0 |
|
关闭本地视频预览。 |
3.0 |
远端用户查询接口
API |
描述 |
支持的最低版本 |
获取远端在线用户列表。 |
3.0 |
|
查询用户是否在线。 |
3.0 |
|
查询远端用户状态。 |
3.0 |
其他接口
API |
描述 |
支持的最低版本 |
根据错误码,获取错误码描述。 |
3.0 |
|
是否分发回调到主线程。 |
3.0 |
|
指定回调线程队列。 |
3.0 |
|
获取当前网络链接状态。 |
3.0 |
接口详情
-
destroy: 销毁DingRtcEngine。
void destroy ()
重要为避免死锁,不建议在任何SDK的回调中调用本方法。
-
getSDKVersion: 查询SDK当前版本号。
NSString *_Nonnull getSDKVersion ()
返回说明
当前的SDK版本号,格式为字符串,例:"3.0.0.0"。
重要在任何时刻都可以调用。
-
setLogDirPath: 设置SDK日志文件保存路径。
int setLogDirPath (NSString *_Nullable logDirPath)
参数说明
参数
类型
描述
logDirPath
NSString *_Nullable
日志文件保存目录的绝对路径,该参数是一个目录路径,而不是文件的路径。
返回说明
0,成功;非0,失败。其中有两种错误码,释义如下:DingRtcErrLogRootPathError:路径已存在或因权限问题不可访问。DingRtcErrLogAlreadyInit:log对象已经初始化过。
重要调用此接口,请在调用其他所有SDK接口前调用本接口,避免日志出现丢失。同时,App必须保证指定的目录已存在并且可以写入。如果,目标路径不可写入或创建日志文件失败,则会使用默认日志路径。本次设置将无效。
-
setLogLevel: 设置日志等级。
int setLogLevel (DingRtcLogLevel logLevel)
参数说明
参数
类型
描述
logLevel
DingRtcLogLevel
Log级别,详见DingRtcLogLevel枚举类型。
返回说明
0:成功;非0:失败。比如没有先调用setLogDirPath。
重要设置SDK的输出日志等级。默认值为DingRtcLogLevel。调用此接口,请在仅次于SetLogDirPath接口调用之后再调用本接口,避免因日志等级切换造成的打印丢失。
-
getErrorDescription: 根据错误码,获取错误码描述。
NSString *_Nullable getErrorDescription (NSInteger errCode)
参数说明
参数
类型
描述
errCode
NSInteger
错误码,详见DingRtcErrorCode。
返回说明
错误码描述字符串。
重要在任何时刻都可以调用。
-
enableDelegateMainQueue: 是否分发回调到主线程。
int enableDelegateMainQueue (BOOL enabled)
参数说明
参数
类型
描述
enabled
BOOL
YES:回调分发至主线程队列。
NO:回调不分发至主线程队列。
返回说明
0表示Success;非0表示Failure。
重要回调默认分发至主线程队列(iOSDefault:YES,MacDefault:NO)。
-
setDelegateQueue: 指定回调线程队列。
int setDelegateQueue (NSOperationQueue *_Nullable queue)
参数说明
参数
类型
描述
queue
NSOperationQueue *_Nullable
回调queue。
返回说明
0表示Success;非0表示Failure。
重要enableDelegateMainQueue为YES时,此接口设置无效,回调线程为主线程。enableDelegateMainQueue为NO时,可通过此接口指定回调线程,若不设置,则使用SDK的默认子线程。
-
joinChannel: 加入频道。
int joinChannel (DingRtcAuthInfo *_Nonnull authInfo,[name] NSString *_Nullable userName,[onResultWithUserId] void(^_Nullable onResult)(NSInteger errCode, NSString *_Nonnull channel, NSString *_Nonnull userId, NSInteger elapsed))
参数说明
参数
类型
描述
authInfo
认证信息,从AppServer获取。
userName
NSString *_Nullable
任意用于显示的用户名称。不是用户ID。
onResult
void(^)(NSInteger errCode, NSString *_Nonnull channel, NSString *_Nonnull userId, NSInteger elapsed)
当joinChannel执行结束后调用这个回调。
返回说明
0:成功;非0:失败。
重要正常情况一个Appid对应一个App,只有同一个AppId的应用可进行互相通话,不同AppId和channelID不同都不能互通。当入会成功后,会触发远端用户收到onRemoteUserOnLineNotify回调。如果已在会中想重新入会,需要先调用leaveChannel离会,且确保onLeaveChannelResult回调收到后,再次调用进行入会。
-
leaveChannel: 离开频道。
int leaveChannel ()
-
joinChannel: 加入频道。
int joinChannel (DingRtcAuthInfo *_Nonnull authInfo,[name] NSString *_Nullable userName,[onResultWithUserId] void(^_Nullable onResult)(NSInteger errCode, NSString *_Nonnull channel, NSString *_Nonnull userId, NSInteger elapsed))
参数说明
参数
类型
描述
authInfo
认证信息,从AppServer获取。
userName
NSString *_Nullable
任意用于显示的用户名称。不是用户ID。
onResult
void(^)(NSInteger errCode, NSString *_Nonnull channel, NSString *_Nonnull userId, NSInteger elapsed)
当joinChannel执行结束后调用这个回调。
返回说明
0:成功;非0:失败。
重要正常情况一个Appid对应一个App,只有同一个AppId的应用可进行互相通话,不同AppId和channelID不同都不能互通。当入会成功后,会触发远端用户收到onRemoteUserOnLineNotify回调。如果已在会中想重新入会,需要先调用leaveChannel离会,且确保onLeaveChannelResult回调收到后,再次调用进行入会。
-
leaveChannel: 离开频道。
int leaveChannel ()
-
isInCall: 获取状态:当前是否在频道中。
BOOL isInCall ()
返回说明
YES,表示当前已经加入了频道。NO,表示当前不在频道中。
重要该方法可在加入频道前或加入频道后调用。
-
getUserInfo: 查询远端用户状态。
NSDictionary *_Nullable getUserInfo (NSString *_Nonnull uid)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID。从Appserver分配的唯一标示符。
返回说明
dictApp提供的容器,用于存放用户数据,dict类型为字典类型,通过{Key,Value}进行访问。dict[userID]!=""成功。dict[userID]==@""失败。
重要通过uid查询,指定远端用户的状态信息,在参数dict中,以字典{key,value}的形式,返回用户的全部状态信息。Key信息:userID:远端用户的ID。isOnline:远端用户是否在线。displayName:远端用户的名称。hasAudio:远端用户是否推送了音频流。hasCamera:远端用户是否推送了相机流。hasScreenSharing:远端用户是否推送了屏幕流。requestAudio:本端是否订阅了此远端用户的音频流。requestCamera:本端是否订阅了此远端用户的相机流。此状态,系在成功订阅该用户摄像头流前的状态。requestScreenSharing:本端是否订阅了此远端用户的屏幕流。此状态,系在成功订阅该用户屏幕共享前的状态。preferCameraType:如果网络带宽允许,优先订阅的相机流的大小规格,选择范围:FHD,HD,SD,LD。subScribedAudio:本端是否拉到了此远端用户的音频流。subScribedCameraType:本端拉到了此远端用户的相机流的大小规格,可能的值:FHD,HD,SD,LD。subScribedScreenSharing:本端是否拉到了此远端用户的屏幕流。hasCameraView:本端是否设置了此远端用户相机流的view。hasScreenView:本端是否设置了此远端用户屏幕流的view。isCameraMirror:本端是否设置了此远端用户的相机流为镜像。isScreenMirror:本端是否设置了此远端用户的屏幕流为镜像。
-
publishLocalVideoStream: 是否推送本地视频流。
int publishLocalVideoStream (BOOL enabled)
参数说明
参数
类型
描述
enabled
BOOL
是否开启/关闭本地视频流推流。
YES:开启视频流推送。
NO:关闭视频流推送。
返回说明
0:设置成功;<0:设置失败。DingRtcErrInner:SDK内部状态错误,需检查是否创建SDK实例成功。
重要SDK默认设置为推送视频流,加入频道前调用此接口设置推送视频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭视频流推送。本地视频流内容默认为摄像头采集视频,如需自定义输入视频推送内容,可参考接口DingRtcEngine使用外部视频输入替换摄像头采集。本地视频推流结果发生变化时,SDK会触发DingRtcEngineDelegate回调通知视频推流最新状态。
-
publishLocalAudioStream: 是否推送音频流。
int publishLocalAudioStream (BOOL enabled)
参数说明
参数
类型
描述
enabled
BOOL
是否开启/关闭本地音频流推流。
YES:开启音频流推送。
NO:关闭音频流推送。
返回说明
0:设置成功;<0:设置失败。DingRtcErrInner:SDK内部状态错误,需检查是否创建SDK实例成功。
重要SDK默认设置推送音频流,加入频道前调用此接口设置推送音频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭音频流推送。本地音频流内容默认为麦克风采集音频,如需自定义输入音频推送内容,可参考接口DingRtcEngine使用外部音频输入替换麦克风采集。本地音频推流结果发生变化时,SDK会触发DingRtcEngineDelegate回调通知音频推流最新状态。
-
isLocalVideoStreamPublished: 查询是否设置推送视频流。
BOOL isLocalVideoStreamPublished ()
返回说明
YES:已设置推送;NO:未设置推送。
重要SDK默认设置推送视频流,如果需要取消推送视频流,可以通过DingRtcEngine方法设置为不推送。
-
isLocalAudioStreamPublished: 查询是否设置推送音频流。
BOOL isLocalAudioStreamPublished ()
返回说明
YES:已设置推送;NO:未设置推送。
重要SDK默认设置推送音频流,如果需要取消推送音频流,可以通过DingRtcEngine方法设置为不推送。
-
setRemoteVideoStreamType: 设置订阅视频流分辨率规格。
int setRemoteVideoStreamType (NSString *_Nonnull uid,[type] DingRtcVideoStreamType streamType)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。
streamType
DingRtcVideoStreamType
视频流的分辨率规格,详见DingRtcVideoStreamType。
返回说明
0:设置成功;非0:设置失败。
-
setRemoteDefaultVideoStreamType: 设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。
int setRemoteDefaultVideoStreamType (DingRtcVideoStreamType streamType)
参数说明
参数
类型
描述
streamType
DingRtcVideoStreamType
视频流的分辨率规格,详见DingRtcVideoStreamType。
返回说明
0:设置成功;<0:设置失败。
-
subscribeAllRemoteAudioStreams: 停止/恢复订阅所有远端音频流,包含后入会成员的订阅。
int subscribeAllRemoteAudioStreams (BOOL sub)
参数说明
参数
类型
描述
sub
BOOL
是否订阅所有远端音频流。
YES:订阅所有用户的音频流,后入会成员会自动订阅其音频。
NO:停止订阅所有用户的音频流,后入会成员也不会自动订阅其音频。
返回说明
0:设置成功;<0:设置失败。
重要入会前入会后均可以调用。
-
subscribeAllRemoteVideoStreams: 停止/恢复订阅所有远端视频流,包含后入会成员的订阅。
int subscribeAllRemoteVideoStreams (BOOL sub)
参数说明
参数
类型
描述
sub
BOOL
是否订阅所有远端视频流。
YES:订阅所有用户的视频流,后入会成员会自动订阅其视频。
NO:停止订阅所有用户的视频流,后入会成员也不会自动订阅其视频。
返回说明
0:设置成功;<0:设置失败。
重要入会前入会后均可以调用。如果设置了subscribeAllRemoteVideoStreams:NO,会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过subscribeRemoteVideoStream来主动订阅某个人的远端视频流。
-
subscribeRemoteVideoStream: 停止/恢复订阅远端用户的视频流。
int subscribeRemoteVideoStream (NSString *_Nonnull uid,[track] DingRtcVideoTrack track,[sub] BOOL sub)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。
track
DingRtcVideoTrack
视频流类型,详见DingRtcVideoTrack。
sub
BOOL
是否订阅远端用户的视频流。
YES:订阅指定用户的视频流。
NO:停止订阅指定用户的视频流。
返回说明
0:设置成功;<0:设置失败。
重要如果设置了subscribeAllRemoteVideoStreams:NO,会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过subscribeRemoteVideoStream来主动订阅某个人的远端视频流。
-
getOnlineRemoteUsers: 获取远端在线用户列表。
NSArray< NSString * > *_Nullable getOnlineRemoteUsers ()
返回说明
当前频道内所有在线用户userid列表。
重要若当前频道ChannelProfile设置为DingRtcInteractivelive模式,只有设置角色为DingRtcClientRoleInteractive的用户为在线用户,本方法不返回角色为DingRtcClientRoleLive的用户。
-
isUserOnline: 查询用户是否在线。
BOOL isUserOnline (NSString *_Nonnull uid)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。不可为NULL。
返回说明
YES,用户在线;NO,用户不在线。
重要根据特定的UserID,查询该用户是否在线。
-
getCurrentConnectionStatus: 获取当前网络链接状态。
DingRtcConnectionStatus getCurrentConnectionStatus ()
返回说明
当前链接状态,参考DingRtcConnectionStatus。
重要网络链接状态发生变化时,SDK会通过onConnectionStatusChanged回调通知。入会前调用此接口,均返回状态DingRtcConnectionStatusDisconnected。
-
setRemoteVideoStreamType: 设置订阅视频流分辨率规格。
int setRemoteVideoStreamType (NSString *_Nonnull uid,[type] DingRtcVideoStreamType streamType)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。
streamType
DingRtcVideoStreamType
视频流的分辨率规格,详见DingRtcVideoStreamType。
返回说明
0:设置成功;非0:设置失败。
-
setRemoteDefaultVideoStreamType: 设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。
int setRemoteDefaultVideoStreamType (DingRtcVideoStreamType streamType)
参数说明
参数
类型
描述
streamType
DingRtcVideoStreamType
视频流的分辨率规格,详见DingRtcVideoStreamType。
返回说明
0:设置成功;<0:设置失败。
-
subscribeAllRemoteAudioStreams: 停止/恢复订阅所有远端音频流,包含后入会成员的订阅。
int subscribeAllRemoteAudioStreams (BOOL sub)
参数说明
参数
类型
描述
sub
BOOL
是否订阅所有远端音频流。
YES:订阅所有用户的音频流,后入会成员会自动订阅其音频。
NO:停止订阅所有用户的音频流,后入会成员也不会自动订阅其音频。
返回说明
0:设置成功;<0:设置失败。
重要入会前入会后均可以调用。
-
subscribeAllRemoteVideoStreams: 停止/恢复订阅所有远端视频流,包含后入会成员的订阅。
int subscribeAllRemoteVideoStreams (BOOL sub)
参数说明
参数
类型
描述
sub
BOOL
是否订阅所有远端视频流。
YES:订阅所有用户的视频流,后入会成员会自动订阅其视频。
NO:停止订阅所有用户的视频流,后入会成员也不会自动订阅其视频。
返回说明
0:设置成功;<0:设置失败。
重要入会前入会后均可以调用。如果设置了subscribeAllRemoteVideoStreams:NO,会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过subscribeRemoteVideoStream来主动订阅某个人的远端视频流。
-
subscribeRemoteVideoStream: 停止/恢复订阅远端用户的视频流。
int subscribeRemoteVideoStream (NSString *_Nonnull uid,[track] DingRtcVideoTrack track,[sub] BOOL sub)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。
track
DingRtcVideoTrack
视频流类型,详见DingRtcVideoTrack。
sub
BOOL
是否订阅远端用户的视频流。
YES:订阅指定用户的视频流。
NO:停止订阅指定用户的视频流。
返回说明
0:设置成功;<0:设置失败。
重要如果设置了subscribeAllRemoteVideoStreams:NO,会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过subscribeRemoteVideoStream来主动订阅某个人的远端视频流。
-
setLocalViewConfig: 设置本地预览显示视图。
int setLocalViewConfig (DingRtcVideoCanvas *_Nullable viewConfig,[forTrack] DingRtcVideoTrack track)
参数说明
参数
类型
描述
viewConfig
本地视频显示属性,详细见DingRtcVideoCanvas。
track
DingRtcVideoTrack
只支持DingRtcVideoTrackCameraDingRtcVideoTrackScreen。
返回说明
0:成功;<0:失败。
重要支持joinChannel之前和之后切换窗口。如果canvas或者DingRtcVideoCanvas为nil,则停止显示。如果需要重新设置DingRtcVideoCanvas,请保持canvas中其他属性不变,仅修改DingRtcVideoCanvas。如果需要重新设置DingRtcVideoCanvas,请保持canvas中其他属性不变,仅修改DingRtcVideoCanvas。
-
isCameraOn: 检查camera是否打开。
BOOL isCameraOn ()
返回说明
YES:表示摄像头已打开;NO:表示摄像头没有打开。
重要该接口用于检查当前camera的状态。
-
setCameraCapturerConfiguration: 设置camera采集偏好。
int setCameraCapturerConfiguration (DingRtcCameraCapturerConfiguration *_Nonnull config)
参数说明
参数
类型
描述
config
偏好设置
preference:DingRtcCaptureOutputPreference::DingRtcCaptureOutputPreferencePreview高清预览,采集优先保证视频预览质量。DingRtcCaptureOutputPreference::DingRtcCaptureOutputPreferencePerformance采集选择最接近推流的分辨率,优先保证设备性能。DingRtcCaptureOutputPreference::DingRtcCaptureOutputPreferenceAuto自动调整采集分辨率。
cameraDirection:设置采集方向,前置或后置。
返回说明
0为成功;非0失败。
重要必须在打开摄像头之前设置,如DingRtcEngineDingRtcEngine/DingRtcEngine之前设置。
-
enableLocalVideo: 禁用或启用本地视频采集。
int enableLocalVideo (BOOL enabled)
参数说明
参数
类型
描述
enabled
BOOL
YES:启用本地视频采集。
NO:禁用本地视频采集。
返回说明
0:成功;<0:失败。
重要默认为开启状态。
-
muteLocalCamera: 是否将停止本地视频数据发送。
int muteLocalCamera (BOOL mute,[forTrack] DingRtcVideoTrack track)
参数说明
参数
类型
描述
mute
BOOL
YES表示视频数据发送黑帧。
NO表示恢复正常。
track
DingRtcVideoTrack
只支持DingRtcVideoTrackCamera。
返回说明
0:表示Success;非0:表示Failure。
重要发送黑色的视频帧。本地预览也呈现黑色。采集,编码,发送模块仍然工作,只是视频内容是黑色帧。
-
setVideoEncoderConfiguration: 设置相机流视频编码属性。
void setVideoEncoderConfiguration (DingRtcVideoEncoderConfiguration *_Nonnull config)
参数说明
参数
类型
描述
config
预定义的编码属性,详见DingRtcVideoEncoderConfiguration。
重要该方法在入会前和入会后都可以调用,如果每次入会只需要设置一次相机流视频编码属性,建议在入会前调用。
-
enableBeautyFace: 开启或关闭视频美颜。
int enableBeautyFace (BOOL enable,[withOption] DingRtcBeautyFaceOptions *_Nonnull options)
参数说明
参数
类型
描述
enable
BOOL
是否开启。
options
DingRtcBeautyFaceOptions
美颜参数。
返回说明
0:成功;非0:失败。
-
setVideoEnhance: 设置视频暗光增强功能。
int setVideoEnhance (DingRtcVideoEnhanceOptions *_Nonnull options)
参数说明
参数
类型
描述
options
DingRtcVideoEnhanceOptions
视频暗光增强参数。
返回说明
0:成功;非0:失败。
-
setVideoDenoise: 设置视频去噪场景功能。
int setVideoDenoise (DingRtcVideoDenoiseOptions *_Nonnull options)
参数说明
参数
类型
描述
options
DingRtcVideoDenoiseOptions
视频去噪参数。
返回说明
0:成功;非0:失败。
-
setVideoFrameDelegate: 设置视频帧观察器。
int setVideoFrameDelegate (id< DingRtcVideoFrameDelegate > _Nullable delegate)
参数说明
参数
类型
描述
delegate
DingRtcVideoFrameDelegate
DingRtcVideoFrameDelegate对象。
返回说明
0:成功;非0:失败。
-
startPreview: 开启本地视频预览。
int startPreview ()
返回说明
0:成功;<0:失败。
重要如果没有调用setLocalViewConfig设置显示的view,则无法预览。可以在joinChannel之前就开启预览会自动打开摄像头。
-
stopPreview: 关闭本地视频预览。
int stopPreview ()
返回说明
0:成功;<0:失败。
重要leaveChannel会自动停止本地预览;如果没有在推相机流,则会自动关闭摄像头。
-
publishLocalVideoStream: 是否推送本地视频流。
int publishLocalVideoStream (BOOL enabled)
参数说明
参数
类型
描述
enabled
BOOL
是否开启/关闭本地视频流推流。
YES:开启视频流推送。
NO:关闭视频流推送。
返回说明
0:设置成功;<0:设置失败。DingRtcErrInner:SDK内部状态错误,需检查是否创建SDK实例成功。
重要SDK默认设置为推送视频流,加入频道前调用此接口设置推送视频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭视频流推送。本地视频流内容默认为摄像头采集视频,如需自定义输入视频推送内容,可参考接口DingRtcEngine使用外部视频输入替换摄像头采集。本地视频推流结果发生变化时,SDK会触发DingRtcEngineDelegate回调通知视频推流最新状态。
-
muteLocalMic: 停止/恢复本地音频数据发送。
int muteLocalMic (BOOL mute,[mode] DingRtcMuteLocalAudioMode mode)
参数说明
参数
类型
描述
mute
BOOL
YES表示静音本地音频,发送静音帧。
NO表示取消静音。
mode
DingRtcMuteLocalAudioMode
静音模式,静音模式分三种,详见DingRtcMuteLocalAudioMode,默认模式为静音本地麦克风采集音频和所有外部输入音频。
返回说明
0:成功;非0:失败。
重要静音是指音频流发送静音帧,采集和编码模块仍然在工作。
-
publishLocalAudioStream: 是否推送音频流。
int publishLocalAudioStream (BOOL enabled)
参数说明
参数
类型
描述
enabled
BOOL
是否开启/关闭本地音频流推流。
YES:开启音频流推送。
NO:关闭音频流推送。
返回说明
0:设置成功;<0:设置失败。DingRtcErrInner:SDK内部状态错误,需检查是否创建SDK实例成功。
重要SDK默认设置推送音频流,加入频道前调用此接口设置推送音频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭音频流推送。本地音频流内容默认为麦克风采集音频,如需自定义输入音频推送内容,可参考接口DingRtcEngine使用外部音频输入替换麦克风采集。本地音频推流结果发生变化时,SDK会触发DingRtcEngineDelegate回调通知音频推流最新状态。
-
setRemoteViewConfig: 设置远端视频显示视图。
int setRemoteViewConfig (DingRtcVideoCanvas *_Nullable canvas,[uid] NSString *_Nonnull uid,[forTrack] DingRtcVideoTrack track)
参数说明
参数
类型
描述
canvas
本地视频显示属性,详细见DingRtcVideoCanvas。
uid
NSString *_Nonnull
UserID,从Appserver分配的唯一标示符。
track
DingRtcVideoTrack
只支持DingRtcVideoTrackCameraDingRtcVideoTrackScreen。
返回说明
0:成功;<0:失败。
重要支持joinChannel之前和之后切换窗口。如果canvas或者view为nil,则停止显示。如果需要重新设置renderMode,请保持canvas中其他属性不变,仅修改renderMode。如果需要重新设置mirrorMode,请保持canvas中其他属性不变,仅修改mirrorMode。
-
switchCamera: 切换前后摄像头(仅适用于iOS系统)。
int switchCamera ()
返回说明
0:表示Success;非0:表示Failure。
-
setCameraZoom: 设置摄像头缩放。
int setCameraZoom (float zoom)
参数说明
参数
类型
描述
zoom
float
缩放级别,范围从1到camera支持的最大zoom值。
返回说明
0:成功;非0:失败。
-
setCameraFlash: 设置摄像头闪光灯开关。
int setCameraFlash (BOOL flash)
参数说明
参数
类型
描述
flash
BOOL
是否打开闪光灯。
返回说明
0:成功;非0:失败。
-
isCameraFocusPointSupported: 摄像头是否支持手动聚焦。
BOOL isCameraFocusPointSupported ()
返回说明
YES:支持;NO:不支持。
-
setCameraFocusPoint: 设置摄像头手动聚焦点。
int setCameraFocusPoint (CGPoint point)
参数说明
参数
类型
描述
point
CGPoint
聚焦点坐标,(相对坐标,取值范围0~1)。
返回说明
0:成功;非0:失败。
-
isCameraExposurePointSupported: 摄像头是否支持设置曝光点。
BOOL isCameraExposurePointSupported ()
返回说明
YES:支持;NO:不支持。
-
setCameraExposurePoint: 设置摄像头曝光点。
int setCameraExposurePoint (CGPoint point)
参数说明
参数
类型
描述
point
CGPoint
曝光点,(相对坐标,取值范围0~1)。
返回说明
0:成功;非0:失败。
-
setDeviceOrientationMode: 设置设备方向(仅适用于iOS系统)。
void setDeviceOrientationMode (DingRtcOrientationMode orientation)
参数说明
参数
类型
描述
orientation
DingRtcOrientationMode
设备方向。
-
getCameraList: 获取摄像头列表(仅适用于Mac系统)。
NSArray< DingRtcDeviceInfo * > *_Nullable getCameraList ()
返回说明
找到的系统中摄像头名称列表。
-
getCameraList: 获取摄像头列表(仅适用于Mac系统)。
int getCameraList (void(^ onResult)(NSArray< DingRtcDeviceInfo * > *_Nullable))
返回说明
回调方式找到的系统中摄像头名称列表。
-
getCurrentCamera: 获取当前使用的摄像头名称(仅适用于Mac系统)。
NSString *_Nullable getCurrentCamera ()
-
getCurrentCameraID: 获取当前使用的摄像头ID(仅适用于Mac系统)。
NSString *_Nullable getCurrentCameraID ()
-
setCurrentCamera: 选择摄像头(Name)(仅适用于Mac系统)。
void setCurrentCamera (NSString *_Nonnull camera)
参数说明
参数
类型
描述
camera
NSString *_Nonnull
摄像头名称。
-
setCurrentCameraWithID: 选择摄像头(ID)(仅适用于Mac系统)。
void setCurrentCameraWithID (NSString *_Nonnull cameraID)
参数说明
参数
类型
描述
cameraID
NSString *_Nonnull
摄像头ID。
-
startRecord: 开始录制(仅适用于Mac系统)
BOOL startRecord (DingRtcRecordOptions *_Nonnull recordOptions,[filePath] NSString *_Nullable filePath,[fileName] NSString *_Nullable fileName)
参数说明
参数
类型
描述
recordOptions
DingRtcRecordOptions
录制视频内容及布局,详细定义见DingRtcRecordOptions
filePath
NSString *_Nullable
录制文件的本地保存路径
fileName
NSString *_Nullable
录制文件名
返回说明
YES:成功NO:失败
-
updateRecordLayout: 更新录制内容信息(仅适用于Mac系统)。
BOOL updateRecordLayout (DingRtcRecordVideoLayout *_Nonnull layout)
参数说明
参数
类型
描述
layout
DingRtcRecordVideoLayout
录制视频内容及布局,详细定义见DingRtcRecordVideoLayout
返回说明
YES:成功,NO:失败。
重要updateRecordLayout更新录制内容信息应该在录制过程中调用
-
pauseRecord: 暂停录制(仅适用于Mac系统)。
BOOL pauseRecord ()
返回说明
YES:成功,NO:失败。
-
resumeRecord: 重新开启录制(仅适用于Mac系统)。
BOOL resumeRecord ()
返回说明
YES:成功,NO:失败。
-
stopRecord: 停止录制(仅适用于Mac系统)
void stopRecord ()
-
snapshotVideo: 对指定用户的视频进行截图,生成一张JPG格式的图片,并保存至指定的路径。
int snapshotVideo (NSString *_Nullable userId,[type] DingRtcVideoTrack type,[filePath] NSString *_Nonnull filePath)
参数说明
参数
类型
描述
userId
NSString *_Nullable
用户ID,userId为nil或者为""代表本地用户。
type
DingRtcVideoTrack
视频流类型,只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。
filePath
NSString *_Nonnull
截图的本地保存路径,需精确到文件名及格式,请确保目录存在且可写。如xx/yy/zz.jpg。
返回说明
0:仅代表调用该接口成功,是否获取到截图画面,详细见DingRtcEngineDelegate<0:失败。
重要视频截图功能为异步接口,通过监听DingRtcEngineDelegate回调获取当前截图画面。
-
muteLocalMic: 停止/恢复本地音频数据发送。
int muteLocalMic (BOOL mute,[mode] DingRtcMuteLocalAudioMode mode)
参数说明
参数
类型
描述
mute
BOOL
YES表示静音本地音频,发送静音帧。
NO表示取消静音。
mode
DingRtcMuteLocalAudioMode
静音模式,静音模式分三种,详见DingRtcMuteLocalAudioMode,默认模式为静音本地麦克风采集音频和所有外部输入音频。
返回说明
0:成功;非0:失败。
重要静音是指音频流发送静音帧,采集和编码模块仍然在工作。
-
enableSpeakerphone: 设置音频输出为听筒还是扬声器(仅适用于iOS系统)。
int enableSpeakerphone (BOOL enable)
参数说明
参数
类型
描述
enable
BOOL
YES:扬声器模式(默认扬声器);NO:听筒模式。
返回说明
0:成功;<0:失败。
-
isSpeakerphoneEnabled: 获取当前音频输出为听筒还是扬声器(仅适用于iOS系统)。
BOOL isSpeakerphoneEnabled ()
返回说明
YES:扬声器模式;NO:听筒模式。
-
setAudioProfile: 设置音频profile。
int setAudioProfile (DingRtcAudioProfile audio_profile,[audio_scene] DingRtcAudioScenario audio_scene)
参数说明
参数
类型
描述
audio_profile
DingRtcAudioProfile
音频采集/编码模式参数,详见DingRtcAudioProfile。
audio_scene
DingRtcAudioScenario
音频场景模式参数,详见DingRtcAudioScenario。
返回说明
0:成功;其他:失败。
重要只支持joinChannel前设置有效。
-
getAudioCaptures: 获取系统中的录音设备列表(仅适用于Mac系统)。
NSArray< DingRtcDeviceInfo * > *_Nullable getAudioCaptures ()
-
getCurrentAudioCapture: 获取使用的录音设备名称(仅适用于Mac系统)。
NSString *_Nullable getCurrentAudioCapture ()
-
setCurrentAudioCapture: 选择录音设备(Name)(仅适用于Mac系统)。
void setCurrentAudioCapture (NSString *_Nonnull capture)
参数说明
参数
类型
描述
capture
NSString *_Nonnull
音频采集设备名称。
-
setCurrentAudioCaptureWithID: 选择录音设备(ID)(仅适用于Mac系统)。
void setCurrentAudioCaptureWithID (NSString *_Nonnull captureID)
参数说明
参数
类型
描述
captureID
NSString *_Nonnull
音频采集设备Id。
-
getAudioRenderers: 获取系统中的扬声器列表(仅适用于Mac系统)。
NSArray< DingRtcDeviceInfo * > *_Nullable getAudioRenderers ()
-
getCurrentAudioRenderer: 获取当前使用的扬声器名称(仅适用于Mac系统)。
NSString *_Nullable getCurrentAudioRenderer ()
-
getCurrentAudioRendererID: 获取当前使用的扬声器ID(仅适用于Mac系统)。
NSString *_Nullable getCurrentAudioRendererID ()
-
setCurrentAudioRenderer: 选择扬声器(Name)(仅适用于Mac系统)。
void setCurrentAudioRenderer (NSString *_Nonnull renderer)
参数说明
参数
类型
描述
renderer
NSString *_Nonnull
音频播放设备名称。
-
setCurrentAudioRendererWithID: 选择扬声器(ID)(仅适用于Mac系统)。
void setCurrentAudioRendererWithID (NSString *_Nonnull rendererID)
参数说明
参数
类型
描述
rendererID
NSString *_Nonnull
音频播放设备id。
-
setRecordingDeviceVolume: 设置音频采集设备音量(仅适用于Mac系统)。
int setRecordingDeviceVolume (NSInteger volume)
参数说明
参数
类型
描述
volume
NSInteger
音量范围[0,100]。
返回说明
0表示Success;非0表示Failure。
-
getRecordingDeviceVolume: 获取音频采集设备音量(仅适用于Mac系统)。
int getRecordingDeviceVolume ()
返回说明
音频采集设备音量,音量范围[0,100],返回1表示失败。
-
setPlayoutDeviceVolume: 设置音频播放设备音量(仅适用于Mac系统)。
int setPlayoutDeviceVolume (NSInteger volume)
参数说明
参数
类型
描述
volume
NSInteger
音量范围[0,100]
返回说明
0表示Success;非0表示Failure。
-
getPlayoutDeviceVolume: 获取音频播放设备音量(仅适用于Mac系统)。
int getPlayoutDeviceVolume ()
返回说明
音频播放设备音量,音量范围[0,100],返回1表示失败。
-
setRecordingDeviceMute: 静音音频采集设备(仅适用于Mac系统)。
int setRecordingDeviceMute (BOOL mute)
参数说明
参数
类型
描述
mute
BOOL
TRUE:设备设置为静音,FALSE:设备设置为不静音。
返回说明
0:方法调用成功;<0:方法调用失败。
-
getRecordingDeviceMute: 获取音频采集设备静音状态(仅适用于Mac系统)。
BOOL getRecordingDeviceMute ()
返回说明
TRUE:已静音状态;FALSE:非静音状态。
-
setPlaybackDeviceMute: 静音音频播放设备(仅适用于Mac系统)。
int setPlaybackDeviceMute (BOOL mute)
参数说明
参数
类型
描述
mute
BOOL
TRUE:设备设置为静音,FALSE:设备设置为不静音。
返回说明
0:方法调用成功;<0:方法调用失败。
-
getPlaybackDeviceMute: 获取音频播放设备静音状态(仅适用于Mac系统)。
BOOL getPlaybackDeviceMute ()
返回说明
TRUE:已静音状态;FALSE:非静音状态。
-
startTestAudioRecord: 开始测试音频采集设备(仅适用于Mac系统)。
int startTestAudioRecord ()
返回说明
0表示Success;非0表示Failure。
重要请在joinChannel之前调用。
-
stopTestAudioRecord: 停止测试音频采集设备(仅适用于Mac系统)。
int stopTestAudioRecord ()
返回说明
0表示Success;非0表示Failure。
重要请在joinChannel之前调用。
-
startTestAudioPlayoutWithName: 开始测试音频播放设备(仅适用于Mac系统)。
int startTestAudioPlayoutWithName (NSString *_Nonnull deviceName,[filePath] NSString *_Nonnull filePath,[loopCycles] NSInteger loopCycles)
参数说明
参数
类型
描述
deviceName
NSString *_Nonnull
音频播放设备Name。
filePath
NSString *_Nonnull
音频文件路径。
loopCycles
NSInteger
循环次数,可以设置-1(无限循环)或者>0的正整数次,其他值无效。
返回说明
0表示Success;非0表示Failure。
重要请在joinChannel之前调用。
-
stopTestAudioPlayout: 停止测试音频播放设备(仅适用于Mac系统)。
int stopTestAudioPlayout ()
返回说明
0表示Success;非0表示Failure。
重要请在joinChannel之前调用。
-
switchCamera: 切换前后摄像头(仅适用于iOS系统)。
int switchCamera ()
返回说明
0:表示Success;非0:表示Failure。
-
setCameraZoom: 设置摄像头缩放。
int setCameraZoom (float zoom)
参数说明
参数
类型
描述
zoom
float
缩放级别,范围从1到camera支持的最大zoom值。
返回说明
0:成功;非0:失败。
-
setCameraFlash: 设置摄像头闪光灯开关。
int setCameraFlash (BOOL flash)
参数说明
参数
类型
描述
flash
BOOL
是否打开闪光灯。
返回说明
0:成功;非0:失败。
-
isCameraFocusPointSupported: 摄像头是否支持手动聚焦。
BOOL isCameraFocusPointSupported ()
返回说明
YES:支持;NO:不支持。
-
setCameraFocusPoint: 设置摄像头手动聚焦点。
int setCameraFocusPoint (CGPoint point)
参数说明
参数
类型
描述
point
CGPoint
聚焦点坐标,(相对坐标,取值范围0~1)。
返回说明
0:成功;非0:失败。
-
isCameraExposurePointSupported: 摄像头是否支持设置曝光点。
BOOL isCameraExposurePointSupported ()
返回说明
YES:支持;NO:不支持。
-
setCameraExposurePoint: 设置摄像头曝光点。
int setCameraExposurePoint (CGPoint point)
参数说明
参数
类型
描述
point
CGPoint
曝光点,(相对坐标,取值范围0~1)。
返回说明
0:成功;非0:失败。
-
setDeviceOrientationMode: 设置设备方向(仅适用于iOS系统)。
void setDeviceOrientationMode (DingRtcOrientationMode orientation)
参数说明
参数
类型
描述
orientation
DingRtcOrientationMode
设备方向。
-
getCurrentAudioCaptureID: 获取使用的录音设备ID(仅适用于Mac系统)。
NSString *_Nullable getCurrentAudioCaptureID ()
-
getCameraList: 获取摄像头列表(仅适用于Mac系统)。
NSArray< DingRtcDeviceInfo * > *_Nullable getCameraList ()
返回说明
找到的系统中摄像头名称列表。
-
getCameraList: 获取摄像头列表(仅适用于Mac系统)。
int getCameraList (void(^ onResult)(NSArray< DingRtcDeviceInfo * > *_Nullable))
返回说明
回调方式找到的系统中摄像头名称列表。
-
getCurrentCamera: 获取当前使用的摄像头名称(仅适用于Mac系统)。
NSString *_Nullable getCurrentCamera ()
-
getCurrentCameraID: 获取当前使用的摄像头ID(仅适用于Mac系统)。
NSString *_Nullable getCurrentCameraID ()
-
setCurrentCamera: 选择摄像头(Name)(仅适用于Mac系统)。
void setCurrentCamera (NSString *_Nonnull camera)
参数说明
参数
类型
描述
camera
NSString *_Nonnull
摄像头名称。
-
setCurrentCameraWithID: 选择摄像头(ID)(仅适用于Mac系统)。
void setCurrentCameraWithID (NSString *_Nonnull cameraID)
参数说明
参数
类型
描述
cameraID
NSString *_Nonnull
摄像头ID。
-
enableAudioVolumeIndication: 设置音量回调频率和平滑系数。
int enableAudioVolumeIndication (NSInteger interval,[smooth] NSInteger smooth,[reportVad] NSInteger reportVad)
参数说明
参数
类型
描述
interval
NSInteger
时间间隔,单位毫秒,最小值不得小于10ms,建议设置300-500ms,<=0表示不启用音量提示和说话人提示功能。
smooth
NSInteger
平滑系数,数值越大平滑程度越高,反之越低,实时性越好,建议设置3,范围[0,9]。
reportVad
NSInteger
说话人检测开关
1:开启。
0:关闭。
返回说明
0:成功;<0:失败。
重要设置之后,音频音量通过DingRtcEngineDelegate回调。
-
setExternalAudioSource: 设置是否启用外部音频输入源。
int setExternalAudioSource (BOOL enable,[withSampleRate] NSUInteger sampleRate,[channelsPerFrame] NSUInteger channelsPerFrame)
参数说明
参数
类型
描述
enable
BOOL
YES:开启。
NO:关闭。
sampleRate
NSUInteger
采样率16k,48k...
channelsPerFrame
NSUInteger
声道数1:单声道;2:双声道。
返回说明
>=0:成功;<0:失败。
-
pushExternalAudioFrame: 输入外部音频数据推流到远端。
int pushExternalAudioFrame (DingRtcAudioDataSample *_Nonnull data)
参数说明
参数
类型
描述
data
音频数据采样,详见DingRtcAudioDataSample。
返回说明
<0:表示失败;0:表示成功。返回值为DingRtcErrorCode时,需要在间隔投递数据时间长度后再次重试投递。
重要为了保证语音连续性,SDK内部会有buffer缓存送进来的音频数据,以每次送10ms数据为例,如果返回DingRtcErrorCode时,说明内部缓冲区已满,建议等待20ms后再重新送当前数据帧。
-
registerAudioFrameObserver: 注册音频数据回调。
int registerAudioFrameObserver (id< DingRtcAudioFrameDelegate > _Nullable observer)
参数说明
参数
类型
描述
observer
DingRtcAudioFrameDelegate
音频数据回调,delegate=nil则停止回调数据。
返回说明
0:成功;非0:失败。
重要需要调用enableAudioFrameObserver开启具体DingRtcAudioSource的回调。
-
enableAudioFrameObserver: 订阅音频数据。
int enableAudioFrameObserver (BOOL enable,[audioSource] DingRtcAudioSource audioSource)
参数说明
参数
类型
描述
enable
BOOL
是否允许数据回调。
audioSource
DingRtcAudioSource
音频裸数据源类型,详见DingRtcAudioSource。
返回说明
0:sucess。
-
setExternalVideoSource: 设置外部视频源。
int setExternalVideoSource (BOOL enable,[track] DingRtcVideoTrack track)
-
pushExternalVideoFrame: 推送外部视频数据。
int pushExternalVideoFrame (DingRtcVideoFrame *_Nonnull frame,[track] DingRtcVideoTrack track)
-
startPreview: 开启本地视频预览。
int startPreview ()
返回说明
0:成功;<0:失败。
重要如果没有调用setLocalViewConfig设置显示的view,则无法预览。可以在joinChannel之前就开启预览会自动打开摄像头。
-
stopPreview: 关闭本地视频预览。
int stopPreview ()
返回说明
0:成功;<0:失败。
重要leaveChannel会自动停止本地预览;如果没有在推相机流,则会自动关闭摄像头。
-
getOnlineRemoteUsers: 获取远端在线用户列表。
NSArray< NSString * > *_Nullable getOnlineRemoteUsers ()
返回说明
当前频道内所有在线用户userid列表。
重要若当前频道ChannelProfile设置为DingRtcInteractivelive模式,只有设置角色为DingRtcClientRoleInteractive的用户为在线用户,本方法不返回角色为DingRtcClientRoleLive的用户。
-
isUserOnline: 查询用户是否在线。
BOOL isUserOnline (NSString *_Nonnull uid)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。不可为NULL。
返回说明
YES,用户在线;NO,用户不在线。
重要根据特定的UserID,查询该用户是否在线。
-
getUserInfo: 查询远端用户状态。
NSDictionary *_Nullable getUserInfo (NSString *_Nonnull uid)
参数说明
参数
类型
描述
uid
NSString *_Nonnull
用户ID。从Appserver分配的唯一标示符。
返回说明
dictApp提供的容器,用于存放用户数据,dict类型为字典类型,通过{Key,Value}进行访问。dict[userID]!=""成功。dict[userID]==@""失败。
重要通过uid查询,指定远端用户的状态信息,在参数dict中,以字典{key,value}的形式,返回用户的全部状态信息。Key信息:userID:远端用户的ID。isOnline:远端用户是否在线。displayName:远端用户的名称。hasAudio:远端用户是否推送了音频流。hasCamera:远端用户是否推送了相机流。hasScreenSharing:远端用户是否推送了屏幕流。requestAudio:本端是否订阅了此远端用户的音频流。requestCamera:本端是否订阅了此远端用户的相机流。此状态,系在成功订阅该用户摄像头流前的状态。requestScreenSharing:本端是否订阅了此远端用户的屏幕流。此状态,系在成功订阅该用户屏幕共享前的状态。preferCameraType:如果网络带宽允许,优先订阅的相机流的大小规格,选择范围:FHD,HD,SD,LD。subScribedAudio:本端是否拉到了此远端用户的音频流。subScribedCameraType:本端拉到了此远端用户的相机流的大小规格,可能的值:FHD,HD,SD,LD。subScribedScreenSharing:本端是否拉到了此远端用户的屏幕流。hasCameraView:本端是否设置了此远端用户相机流的view。hasScreenView:本端是否设置了此远端用户屏幕流的view。isCameraMirror:本端是否设置了此远端用户的相机流为镜像。isScreenMirror:本端是否设置了此远端用户的屏幕流为镜像。
-
getErrorDescription: 根据错误码,获取错误码描述。
NSString *_Nullable getErrorDescription (NSInteger errCode)
参数说明
参数
类型
描述
errCode
NSInteger
错误码,详见DingRtcErrorCode。
返回说明
错误码描述字符串。
重要在任何时刻都可以调用。
-
enableDelegateMainQueue: 是否分发回调到主线程。
int enableDelegateMainQueue (BOOL enabled)
参数说明
参数
类型
描述
enabled
BOOL
YES:回调分发至主线程队列。
NO:回调不分发至主线程队列。
返回说明
0表示Success;非0表示Failure。
重要回调默认分发至主线程队列(iOSDefault:YES,MacDefault:NO)。
-
setDelegateQueue: 指定回调线程队列。
int setDelegateQueue (NSOperationQueue *_Nullable queue)
参数说明
参数
类型
描述
queue
NSOperationQueue *_Nullable
回调queue。
返回说明
0表示Success;非0表示Failure。
重要enableDelegateMainQueue为YES时,此接口设置无效,回调线程为主线程。enableDelegateMainQueue为NO时,可通过此接口指定回调线程,若不设置,则使用SDK的默认子线程。
-
getCurrentConnectionStatus: 获取当前网络链接状态。
DingRtcConnectionStatus getCurrentConnectionStatus ()
返回说明
当前链接状态,参考DingRtcConnectionStatus。
重要网络链接状态发生变化时,SDK会通过onConnectionStatusChanged回调通知。入会前调用此接口,均返回状态DingRtcConnectionStatusDisconnected。
- 本页导读 (0)