文档

DingRtcEngine接口

更新时间:

通过阅读本文,您可以了解到iOS SDK和Mac SDK的DingRtcEngine接口详情。

接口说明

目录

基础接口

API

描述

支持的最低版本

sharedInstance

获取一个DingRtcEngine实例。

3.0

destroy

销毁DingRtcEngine。

3.0

getSDKVersion

查询SDK当前版本号。

3.0

setLogDirPath

设置SDK日志文件保存路径。

3.0

setLogLevel

设置日志等级。

3.0

getErrorDescription

根据错误码,获取错误码描述。

3.0

enableDelegateMainQueue

是否分发回调到主线程。

3.0

setDelegateQueue

指定回调线程队列。

3.0

joinChannel

加入频道。

3.0

leaveChannel

离开频道。

3.0

频道相关接口

API

描述

支持的最低版本

joinChannel

加入频道。

3.0

leaveChannel

离开频道。

3.0

isInCall

获取状态:当前是否在频道中。

3.0

getUserInfo

查询远端用户状态。

3.0

发布相关接口

API

描述

支持的最低版本

publishLocalVideoStream

是否推送本地视频流。

3.0

publishLocalAudioStream

是否推送音频流。

3.0

isLocalVideoStreamPublished

查询是否设置推送视频流。

3.0

isLocalAudioStreamPublished

查询是否设置推送音频流。

3.0

startScreenShare

启动屏幕分享(仅适用于iOS系统)。

3.0

stopScreenShare

停止屏幕分享。

3.0

isScreenSharePublished

查询是否设置推送屏幕分享。

3.0

startScreenShareWithDesktopId

根据桌面Id进行屏幕分享(仅适用于Mac系统)。

3.0

startScreenShareWithWindowId

根据窗口id进行屏幕分享(仅适用于Mac系统)。

3.0

getScreenShareSourceInfoWithType

获取屏幕分享源信息(仅适用于Mac系统)。

3.0

setRemoteVideoStreamType

设置订阅视频流分辨率规格。

3.0

setRemoteDefaultVideoStreamType

设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。

3.0

subscribeAllRemoteAudioStreams

停止/恢复订阅所有远端音频流,包含后入会成员的订阅。

3.0

subscribeAllRemoteVideoStreams

停止/恢复订阅所有远端视频流,包含后入会成员的订阅。

3.0

subscribeRemoteVideoStream

停止/恢复订阅远端用户的视频流。

3.0

getOnlineRemoteUsers

获取远端在线用户列表。

3.0

isUserOnline

查询用户是否在线。

3.0

getCurrentConnectionStatus

获取当前网络链接状态。

3.0

订阅相关接口

API

描述

支持的最低版本

setRemoteVideoStreamType

设置订阅视频流分辨率规格。

3.0

setRemoteDefaultVideoStreamType

设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。

3.0

subscribeAllRemoteAudioStreams

停止/恢复订阅所有远端音频流,包含后入会成员的订阅。

3.0

subscribeAllRemoteVideoStreams

停止/恢复订阅所有远端视频流,包含后入会成员的订阅。

3.0

subscribeRemoteVideoStream

停止/恢复订阅远端用户的视频流。

3.0

视频相关接口

API

描述

支持的最低版本

setLocalViewConfig

设置本地预览显示视图。

3.0

isCameraOn

检查camera是否打开。

3.0

setCameraCapturerConfiguration

设置camera采集偏好。

3.0

enableLocalVideo

禁用或启用本地视频采集。

3.0

muteLocalCamera

是否将停止本地视频数据发送。

3.0

setVideoEncoderConfiguration

设置相机流视频编码属性。

3.0

enableBeautyFace

开启或关闭视频美颜。

3.0

setVideoEnhance

设置视频暗光增强功能。

3.0

setVideoDenoise

设置视频去噪场景功能。

3.0

setVideoFrameDelegate

设置视频帧观察器。

3.0

startPreview

开启本地视频预览。

3.0

stopPreview

关闭本地视频预览。

3.0

publishLocalVideoStream

是否推送本地视频流。

3.0

setScreenShareEncoderConfiguration

设置屏幕流视频编码属性。

3.0

muteLocalMic

停止/恢复本地音频数据发送。

3.0

publishLocalAudioStream

是否推送音频流。

3.0

setRemoteViewConfig

设置远端视频显示视图。

3.0

switchCamera

切换前后摄像头(仅适用于iOS系统)。

3.0

setCameraZoom

设置摄像头缩放。

3.0

setCameraFlash

设置摄像头闪光灯开关。

3.0

isCameraFocusPointSupported

摄像头是否支持手动聚焦。

3.0

setCameraFocusPoint

设置摄像头手动聚焦点。

3.0

isCameraExposurePointSupported

摄像头是否支持设置曝光点。

3.0

setCameraExposurePoint

设置摄像头曝光点。

3.0

setDeviceOrientationMode

设置设备方向(仅适用于iOS系统)。

3.0

getCameraList

获取摄像头列表(仅适用于Mac系统)。

3.0

getCameraList

获取摄像头列表(仅适用于Mac系统)。

3.0

getCurrentCamera

获取当前使用的摄像头名称(仅适用于Mac系统)。

3.0

getCurrentCameraID

获取当前使用的摄像头ID(仅适用于Mac系统)。

3.0

setCurrentCamera

选择摄像头(Name)(仅适用于Mac系统)。

3.0

setCurrentCameraWithID

选择摄像头(ID)(仅适用于Mac系统)。

3.0

startRecord

开始录制(仅适用于Mac系统)

3.0

updateRecordLayout

更新录制内容信息(仅适用于Mac系统)。

3.0

pauseRecord

暂停录制(仅适用于Mac系统)。

3.0

resumeRecord

重新开启录制(仅适用于Mac系统)。

3.0

stopRecord

停止录制(仅适用于Mac系统)

3.0

snapshotVideo

对指定用户的视频进行截图,生成一张JPG格式的图片,并保存至指定的路径。

3.0

共享视频相关接口

API

描述

支持的最低版本

setScreenShareEncoderConfiguration

设置屏幕流视频编码属性。

3.0

startScreenShare

启动屏幕分享(仅适用于iOS系统)。

3.0

stopScreenShare

停止屏幕分享。

3.0

isScreenSharePublished

查询是否设置推送屏幕分享。

3.0

startScreenShareWithDesktopId

根据桌面Id进行屏幕分享(仅适用于Mac系统)。

3.0

startScreenShareWithWindowId

根据窗口id进行屏幕分享(仅适用于Mac系统)。

3.0

getScreenShareSourceInfoWithType

获取屏幕分享源信息(仅适用于Mac系统)。

3.0

音频相关接口

API

描述

支持的最低版本

muteLocalMic

停止/恢复本地音频数据发送。

3.0

enableSpeakerphone

设置音频输出为听筒还是扬声器(仅适用于iOS系统)。

3.0

isSpeakerphoneEnabled

获取当前音频输出为听筒还是扬声器(仅适用于iOS系统)。

3.0

setAudioProfile

设置音频profile。

3.0

getAudioCaptures

获取系统中的录音设备列表(仅适用于Mac系统)。

3.0

getCurrentAudioCapture

获取使用的录音设备名称(仅适用于Mac系统)。

3.0

setCurrentAudioCapture

选择录音设备(Name)(仅适用于Mac系统)。

3.0

setCurrentAudioCaptureWithID

选择录音设备(ID)(仅适用于Mac系统)。

3.0

getAudioRenderers

获取系统中的扬声器列表(仅适用于Mac系统)。

3.0

getCurrentAudioRenderer

获取当前使用的扬声器名称(仅适用于Mac系统)。

3.0

getCurrentAudioRendererID

获取当前使用的扬声器ID(仅适用于Mac系统)。

3.0

setCurrentAudioRenderer

选择扬声器(Name)(仅适用于Mac系统)。

3.0

setCurrentAudioRendererWithID

选择扬声器(ID)(仅适用于Mac系统)。

3.0

setRecordingDeviceVolume

设置音频采集设备音量(仅适用于Mac系统)。

3.0

getRecordingDeviceVolume

获取音频采集设备音量(仅适用于Mac系统)。

3.0

setPlayoutDeviceVolume

设置音频播放设备音量(仅适用于Mac系统)。

3.0

getPlayoutDeviceVolume

获取音频播放设备音量(仅适用于Mac系统)。

3.0

setRecordingDeviceMute

静音音频采集设备(仅适用于Mac系统)。

3.0

getRecordingDeviceMute

获取音频采集设备静音状态(仅适用于Mac系统)。

3.0

setPlaybackDeviceMute

静音音频播放设备(仅适用于Mac系统)。

3.0

getPlaybackDeviceMute

获取音频播放设备静音状态(仅适用于Mac系统)。

3.0

startTestAudioRecord

开始测试音频采集设备(仅适用于Mac系统)。

3.0

stopTestAudioRecord

停止测试音频采集设备(仅适用于Mac系统)。

3.0

startTestAudioPlayoutWithName

开始测试音频播放设备(仅适用于Mac系统)。

3.0

stopTestAudioPlayout

停止测试音频播放设备(仅适用于Mac系统)。

3.0

switchCamera

切换前后摄像头(仅适用于iOS系统)。

3.0

setCameraZoom

设置摄像头缩放。

3.0

setCameraFlash

设置摄像头闪光灯开关。

3.0

isCameraFocusPointSupported

摄像头是否支持手动聚焦。

3.0

setCameraFocusPoint

设置摄像头手动聚焦点。

3.0

isCameraExposurePointSupported

摄像头是否支持设置曝光点。

3.0

setCameraExposurePoint

设置摄像头曝光点。

3.0

setDeviceOrientationMode

设置设备方向(仅适用于iOS系统)。

3.0

getCurrentAudioCaptureID

获取使用的录音设备ID(仅适用于Mac系统)。

getCameraList

获取摄像头列表(仅适用于Mac系统)。

3.0

getCameraList

获取摄像头列表(仅适用于Mac系统)。

3.0

getCurrentCamera

获取当前使用的摄像头名称(仅适用于Mac系统)。

3.0

getCurrentCameraID

获取当前使用的摄像头ID(仅适用于Mac系统)。

3.0

setCurrentCamera

选择摄像头(Name)(仅适用于Mac系统)。

3.0

setCurrentCameraWithID

选择摄像头(ID)(仅适用于Mac系统)。

3.0

enableAudioVolumeIndication

设置音量回调频率和平滑系数。

3.0

setExternalAudioSource

设置是否启用外部音频输入源。

3.0

pushExternalAudioFrame

输入外部音频数据推流到远端。

3.0

registerAudioFrameObserver

注册音频数据回调。

3.0

enableAudioFrameObserver

订阅音频数据。

3.0

setExternalVideoSource

设置外部视频源。

3.0

pushExternalVideoFrame

推送外部视频数据。

3.0

预览相关接口

API

描述

支持的最低版本

startPreview

开启本地视频预览。

3.0

stopPreview

关闭本地视频预览。

3.0

远端用户查询接口

API

描述

支持的最低版本

getOnlineRemoteUsers

获取远端在线用户列表。

3.0

isUserOnline

查询用户是否在线。

3.0

getUserInfo

查询远端用户状态。

3.0

其他接口

API

描述

支持的最低版本

getErrorDescription

根据错误码,获取错误码描述。

3.0

enableDelegateMainQueue

是否分发回调到主线程。

3.0

setDelegateQueue

指定回调线程队列。

3.0

getCurrentConnectionStatus

获取当前网络链接状态。

3.0

接口详情

  • sharedInstance: 获取一个DingRtcEngine实例。

     instancetype _Nonnull sharedInstance (id< DingRtcEngineDelegate >_Nullable delegate,[extras] NSString *_Nullable extras)

    参数说明

    参数

    类型

    描述

    delegate

    DingRtcEngineDelegate

    用于接收DingRtc相关时间回调的代理。

    extras

    NSString *_Nullable

    用于接收来自客户灰度下发的参数,通过JSON配置SDK的特别功能,可以是空字符串。详情请参见官网。

    重要

    创建子实例,请参考使用createChannel。

  • 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

    DingRtcAuthInfo

    认证信息,从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

    DingRtcAuthInfo

    认证信息,从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方法设置为不推送。

  • startScreenShare: 启动屏幕分享(仅适用于iOS系统)。

     int startScreenShare (NSString *_Nullable appGroup,[mode] DingRtcScreenShareMode mode)

    参数说明

    参数

    类型

    描述

    appGroup

    NSString *_Nullable

    插件和宿主app约定使用相同的appGroup。

    mode

    DingRtcScreenShareMode

    屏幕共享模式。

    返回说明

    0:成功,其他:失败。

  • stopScreenShare: 停止屏幕分享。

     int stopScreenShare ()

    返回说明

    0:成功;其他:失败。

  • isScreenSharePublished: 查询是否设置推送屏幕分享。

     BOOL isScreenSharePublished ()

    返回说明

    YES:已设置推送;NO:未设置推送。

    重要

    SDK默认设置不推送屏幕分享,如果需要推送屏幕共享,可以通过DingRtcEngine方法开启屏幕共享推送。

  • startScreenShareWithDesktopId: 根据桌面Id进行屏幕分享(仅适用于Mac系统)。

     int startScreenShareWithDesktopId (NSString *_Nonnull desktopId,[config] DingRtcScreenShareConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    desktopId

    NSString *_Nonnull

    桌面Id(可通过GetScreenShareSourceInfo接口获取)。

    config

    DingRtcScreenShareConfig

    屏幕分享配置,详见DingRtcScreenShareConfig

    返回说明

    0:设置成功,<0:设置失败,返回错误码。

  • startScreenShareWithWindowId: 根据窗口id进行屏幕分享(仅适用于Mac系统)。

     int startScreenShareWithWindowId (NSString *_Nonnull windowId,[config] DingRtcScreenShareConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    windowId

    NSString *_Nonnull

    窗口id(可通过GetScreenShareSourceInfo接口获取)。

    config

    DingRtcScreenShareConfig

    屏幕分享配置,详见DingRtcScreenShareConfig

    返回说明

    0:设置成功,<0:设置失败,返回错误码。

  • getScreenShareSourceInfoWithType: 获取屏幕分享源信息(仅适用于Mac系统)。

     NSArray< DingRtcScreenSourceInfo * > *_Nullable getScreenShareSourceInfoWithType (DingRtcScreenShareType type)

    参数说明

    参数

    类型

    描述

    type

    DingRtcScreenShareType

    屏幕分享类型,详见DingRtcScreenShareType。

    返回说明

    返回屏幕共享源列表。

  • 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

    本地视频显示属性,详细见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

    DingRtcCameraCapturerConfiguration

    偏好设置

    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

    预定义的编码属性,详见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回调通知视频推流最新状态。

  • setScreenShareEncoderConfiguration: 设置屏幕流视频编码属性。

     void setScreenShareEncoderConfiguration (DingRtcScreenShareEncoderConfiguration *_Nonnull config)

    参数说明

    参数

    类型

    描述

    config

    DingRtcScreenShareEncoderConfiguration

    预定义的屏幕共享编码属性,详见DingRtcScreenShareEncoderConfiguration

    重要

    该方法在入会前和入会后都可以调用,如果每次入会只需要设置一次屏幕流视频编码属性,建议在入会前调用。

  • 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

    本地视频显示属性,详细见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回调获取当前截图画面。

  • setScreenShareEncoderConfiguration: 设置屏幕流视频编码属性。

     void setScreenShareEncoderConfiguration (DingRtcScreenShareEncoderConfiguration *_Nonnull config)

    参数说明

    参数

    类型

    描述

    config

    DingRtcScreenShareEncoderConfiguration

    预定义的屏幕共享编码属性,详见DingRtcScreenShareEncoderConfiguration

    重要

    该方法在入会前和入会后都可以调用,如果每次入会只需要设置一次屏幕流视频编码属性,建议在入会前调用。

  • startScreenShare: 启动屏幕分享(仅适用于iOS系统)。

     int startScreenShare (NSString *_Nullable appGroup,[mode] DingRtcScreenShareMode mode)

    参数说明

    参数

    类型

    描述

    appGroup

    NSString *_Nullable

    插件和宿主app约定使用相同的appGroup。

    mode

    DingRtcScreenShareMode

    屏幕共享模式。

    返回说明

    0:成功,其他:失败。

  • stopScreenShare: 停止屏幕分享。

     int stopScreenShare ()

    返回说明

    0:成功;其他:失败。

  • isScreenSharePublished: 查询是否设置推送屏幕分享。

     BOOL isScreenSharePublished ()

    返回说明

    YES:已设置推送;NO:未设置推送。

    重要

    SDK默认设置不推送屏幕分享,如果需要推送屏幕共享,可以通过DingRtcEngine方法开启屏幕共享推送。

  • startScreenShareWithDesktopId: 根据桌面Id进行屏幕分享(仅适用于Mac系统)。

     int startScreenShareWithDesktopId (NSString *_Nonnull desktopId,[config] DingRtcScreenShareConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    desktopId

    NSString *_Nonnull

    桌面Id(可通过GetScreenShareSourceInfo接口获取)。

    config

    DingRtcScreenShareConfig

    屏幕分享配置,详见DingRtcScreenShareConfig

    返回说明

    0:设置成功,<0:设置失败,返回错误码。

  • startScreenShareWithWindowId: 根据窗口id进行屏幕分享(仅适用于Mac系统)。

     int startScreenShareWithWindowId (NSString *_Nonnull windowId,[config] DingRtcScreenShareConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    windowId

    NSString *_Nonnull

    窗口id(可通过GetScreenShareSourceInfo接口获取)。

    config

    DingRtcScreenShareConfig

    屏幕分享配置,详见DingRtcScreenShareConfig

    返回说明

    0:设置成功,<0:设置失败,返回错误码。

  • getScreenShareSourceInfoWithType: 获取屏幕分享源信息(仅适用于Mac系统)。

     NSArray< DingRtcScreenSourceInfo * > *_Nullable getScreenShareSourceInfoWithType (DingRtcScreenShareType type)

    参数说明

    参数

    类型

    描述

    type

    DingRtcScreenShareType

    屏幕分享类型,详见DingRtcScreenShareType。

    返回说明

    返回屏幕共享源列表。

  • 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

    音频数据采样,详见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)