DingRtcEngine接口

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

接口说明

目录

基础接口

API

描述

支持的最低版本

sharedInstance

创建并获取一个DingRtcEngine实例,多次调用返回同一实例,既单例。

3.0

destroy

销毁DingRtcEngine::sharedInstance:extras:创建的DingRtcEngine实例。

3.0

createInstance

创建并获取一个DingRtcEngine实例,多次调用返回多个实例。

3.3.0

destroyInstance

销毁DingRtcEngine::sharedInstance:extras:或者DingRtcEngine::createInstance:extras:创建的DingRtcEngine实例。

3.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

getAudioGroupHallId

返回音频分组大厅Id,可以根据此Id判断一个group是不是大厅。

3.4

joinAudioGroup

加入音频分组。如果分组当前不存在,则自动创建一个。

3.4

leaveAudioGroup

离开音频分组。

3.4

dismissAudioGroup

解散音频分组,所有成员被迫离开该音频分组。

3.4

mixAudioToGroup

本地音频合并进分组音频或者大厅音频中。

3.4

switchSubscriptionToAudioGroup

切换订阅的音频流到指定的分组或者大厅音频。

3.4

getCurrentSubscribedAudio

查询当前订阅的音频的类型,可能是大厅音频,也可能是某个分组的音频。

3.4

频道相关接口

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

updateScreenShareConfig

更新当前正在进行中的屏幕分享的配置。

3.4.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

enableLocalVideo

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

3.0

muteLocalCamera

暂停/恢复本地视频流的发送。

3.0

setVideoEncoderConfiguration

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

3.0

enableBeautyFace

开启或关闭视频美颜。

3.0

enableVirtualBackground

开启或关闭虚拟背景。

3.3

setVideoEnhance

设置视频暗光增强功能。

3.0

setVideoDenoise

设置视频去噪场景功能。

3.0

setVideoFrameDelegate

设置视频帧观察器。

3.0

enableVideoFrameObserver

设置视频帧数据观察开关。

3.1

startPreview

开启本地视频预览。

3.0

stopPreview

关闭本地视频预览。

3.0

publishLocalVideoStream

是否推送本地视频流。

3.0

setScreenShareEncoderConfiguration

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

3.0

setAudioDenoise

设置音频去噪功能。

3.4

muteLocalMic

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

3.0

publishLocalAudioStream

是否推送音频流。

3.0

setRemoteViewConfig

设置远端视频显示视图。

3.0

updateViewConfig

更新本地或远端视频视图属性。

3.0

setCameraCapturerConfiguration

设置camera采集偏好(仅适用于iOS系统)。

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

updateScreenShareConfig

更新当前正在进行中的屏幕分享的配置。

3.4.0

getScreenShareSourceInfoWithType

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

3.0

音频相关接口

API

描述

支持的最低版本

setAudioDenoise

设置音频去噪功能。

3.4

muteLocalMic

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

3.0

enableSpeakerphone

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

3.0

isSpeakerphoneEnabled

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

3.0

setAudioProfile

设置音频profile。

3.0

startRecordingDeviceTest

开始测试音频采集设备

3.0

stopRecordingDeviceTest

停止测试音频采集设备

3.0

startPlayoutDeviceTest

开始测试音频播放设备

3.0

stopPlayoutDeviceTest

停止测试音频播放设备

3.0

getAudioCaptures

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

3.0

setCurrentAudioCaptureWithID

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

3.0

getAudioRenderers

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

3.0

getCurrentAudioRendererID

获取当前使用的扬声器ID(仅适用于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

setCameraCapturerConfiguration

设置camera采集偏好(仅适用于iOS系统)。

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

enableAudioFrameObserver

订阅音频数据。

3.3

enableAudioFrameObserver

订阅音频数据。

3.0

setExternalAudioRender

设置是否启用外部音频渲染源

3.0

pushExternalAudioRenderFrame

输入外部音频数据渲染到本地

3.0

enableCustomAudioCapture

开启自定义音频采集,开始后,SDK内部不在操作音频采集设备

3.1

sendCustomAudioCaptureFrame

向SDK投送自己采集的音频数据

3.1

enableCustomAudioRender

开启自定义音频播放,开始后,SDK内部不在操作音频播放设备

3.1

getCustomAudioRenderFrame

获取可播放的音频数据

3.1

createAudioMixing

创建伴奏混音实例。

3.4

destroyAudioMixing

销毁伴奏混音实例。

3.4

startAudioMixing

开始伴奏混音。

3.4

stopAudioMixing

停止伴奏混音。

3.4

pauseAudioMixing

暂停伴奏混音。

3.4

resumeAudioMixing

暂停后恢复伴奏混音。

3.4

getAudioMixingDuration

获取伴奏时长。

3.4

getAudioMixingCurrentPosition

获取当前伴奏播放时长。

3.4

setAudioMixingPosition

设置伴奏播放位置。

3.4

setAudioMixingVolume

设置伴奏音量。

3.4

getAudioMixingVolume

获取伴奏音量。

3.4

setAudioMixingPublishVolume

设置伴奏推流音量。

3.4

getAudioMixingPublishVolume

获取伴奏推流音量。

3.4

setAudioMixingPlayoutVolume

设置伴奏播放音量。

3.4

getAudioMixingPlayoutVolume

获取伴奏播放音量。

3.4

setExternalVideoSource

设置外部视频源。

3.0

pushExternalVideoFrame

推送外部视频数据。

3.0

joinAudioGroup

加入音频分组。如果分组当前不存在,则自动创建一个。

3.4

leaveAudioGroup

离开音频分组。

3.4

dismissAudioGroup

解散音频分组,所有成员被迫离开该音频分组。

3.4

mixAudioToGroup

本地音频合并进分组音频或者大厅音频中。

3.4

switchSubscriptionToAudioGroup

切换订阅的音频流到指定的分组或者大厅音频。

3.4

getCurrentSubscribedAudio

查询当前订阅的音频的类型,可能是大厅音频,也可能是某个分组的音频。

3.4

预览相关接口

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

I420RotateWithSrcY

将I420格式的视频帧进行角度的旋转。

3.1.0

接口详情

  • sharedInstance: 创建并获取一个DingRtcEngine实例,多次调用返回同一实例,既单例。

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

    参数说明

    参数

    类型

    描述

    delegate

    DingRtcEngineDelegate

    用于接收DingRtc相关事件回调的代理。

    extras

    NSString *_Nullable

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

  • destroy: 销毁DingRtcEngine::sharedInstance:extras:创建的DingRtcEngine实例。

     void destroy ()

    调用该方法将会释放所有内部使用的资源,当完成音视频通信之后都建议调用该方法释放实例.调用该方法后,你将不能再使用 DingRtcEngine 的其他方法和任何回调。

    重要

    为避免死锁,不建议在任何SDK的回调中调用本方法。

  • createInstance: 创建并获取一个DingRtcEngine实例,多次调用返回多个实例。

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

    参数说明

    参数

    类型

    描述

    delegate

    DingRtcEngineDelegate

    用于接收DingRtc相关事件回调的代理。

    extras

    NSString *_Nullable

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

  • destroyInstance: 销毁DingRtcEngine::sharedInstance:extras:或者DingRtcEngine::createInstance:extras:创建的DingRtcEngine实例。

     void destroyInstance (DingRtcEngine *_Nonnull instance)

    调用该方法将会释放所有内部使用的资源,当完成音视频通信之后都建议调用该方法释放实例.调用该方法后,你将不能再使用 DingRtcEngine 的其他方法和任何回调。

    参数说明

    参数

    类型

    描述

    instance

    DingRtcEngine

    DingRtcEngine的实例。

    重要

    为避免死锁,不建议在任何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。

    重要

    回调默认分发至主线程队列(iOS Default:YES,Mac Default: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不同都不能互通。

    当入会成功后,会触发远端用户收到 回调。

    如果已在会中想重新入会,需要先调用 leaveChannel 离会,且确保 回调收到后,再次调用进行入会。

  • leaveChannel: 离开频道。

     int leaveChannel ()
    • 调用该方法代表离开频道,即挂断或者停止通话。
    • 该方法为异步方法,调用后收到 onLeaveChannelResult 代表退出频道完成,同时会触发远端用户收到 onRemoteUserOffLineNotify 回调。
    • 如果未加入频道入会,leaveChannel 不会有任何影响。加入频道后,必须要调用该方法离开频道,否则无法加入其他频道。
    • 0:成功;
    • 非0:失败。
    • 失败原因错误码见回调函数:onLeaveChannelResult
  • getAudioGroupHallId: 返回音频分组大厅Id,可以根据此Id判断一个group是不是大厅。

     NSString *_Nonnull getAudioGroupHallId ()

    关于音频分组概念 音频分组,允许频道内的成员建立工作组(group)。User加入一个group后,可以向这个group发言,也可以收听这个group内的音频。 音频分组不影响视频的 publish 和 subscribe,即使2个user不在同一个group,也可以看见对方。 大厅(hall):如果一个user当前不在任何一个group中,那么他就留在大厅中。大厅是一个特殊的 group,通过离开/加入一个group间接的达到加入/离开大厅的效果。 如果user在大厅中,那么他可以对大厅中的人发言,也可以订阅大厅音频。 权限约束:user无权对不在其中的group (含hall)发言,或者收听音频。 音频订阅约束:user不可以同时订阅多个group (含hall)的音频,这个是为了应对一个user出现在多个group中,以及过量的多路音频(比如6路音频)混音后造成理解困难的问题。

    返回说明

    音频分组大厅Id。

  • joinAudioGroup: 加入音频分组。如果分组当前不存在,则自动创建一个。

     int joinAudioGroup (NSString *_Nonnull groupId,[usrData] NSString *_Nullable usrData)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    指定加入的音频分组,不可以是大厅(audioGroupHallId)。

    usrData

    NSString *_Nullable

    可以额外提供一个字符串,业务层自行解释。长度不超过64字节。

    返回说明

    • 如果返回0,结果将会通过onAudioGroupJoinResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息onAudioGroupJoinResult。
    重要

    usrData暂时未支持。

  • leaveAudioGroup: 离开音频分组。

     int leaveAudioGroup (NSString *_Nonnull groupId)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    要离开的音频分组,不可以是大厅(audioGroupHallId)。

    返回说明

    • 如果返回0,结果将会通过OnAudioGroupLeaveResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioGroupLeaveResult。
    重要

    如果离开了分组,那么没有权限再订阅该分组的音频,也没有权限向该分组mix音频流。

  • dismissAudioGroup: 解散音频分组,所有成员被迫离开该音频分组。

     int dismissAudioGroup (NSString *_Nonnull groupId)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    要解散的音频分组,不可以是大厅(audioGroupHallId)。

    返回说明

    • 如果返回0,结果将会通过OnAudioGroupDismissResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioGroupDismissResult。
  • mixAudioToGroup: 本地音频合并进分组音频或者大厅音频中。

     int mixAudioToGroup (NSString *_Nonnull groupId,[mix] BOOL mix)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    指定的音频分组,可以是大厅(audioGroupHallId)。

    mix

    BOOL

    true表示合并,false表示不合并。

    返回说明

    • 如果返回0,结果将会通过OnAudioGroupMixResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioGroupMixResult。
    重要

    前提条件:1,已经做了音频的publish; 2,权限要求:用户需要在目标分组或者大厅中。

  • switchSubscriptionToAudioGroup: 切换订阅的音频流到指定的分组或者大厅音频。

     int switchSubscriptionToAudioGroup (NSString *groupId)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *

    指定的音频分组,可以是大厅(audioGroupHallId)。

    返回说明

    • 如果返回0,结果将会通过OnAudioSubscribeStateChanged通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioSubscribeStateChanged。
    重要

    切换过程会有多次 onAudioSubscribeStateChanged 通知。

  • getCurrentSubscribedAudio: 查询当前订阅的音频的类型,可能是大厅音频,也可能是某个分组的音频。

     NSString *_Nullable getCurrentSubscribedAudio ()

    返回说明

    返回的是 groupId,如果 nil 或者 "",表示无订阅,如果是audioGroupHallId,表示大厅音频,否则,返回分组音频对应的分组ID。

  • 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不同都不能互通。

    当入会成功后,会触发远端用户收到 回调。

    如果已在会中想重新入会,需要先调用 leaveChannel 离会,且确保 回调收到后,再次调用进行入会。

  • leaveChannel: 离开频道。

     int leaveChannel ()
    • 调用该方法代表离开频道,即挂断或者停止通话。
    • 该方法为异步方法,调用后收到 onLeaveChannelResult 代表退出频道完成,同时会触发远端用户收到 onRemoteUserOffLineNotify 回调。
    • 如果未加入频道入会,leaveChannel 不会有任何影响。加入频道后,必须要调用该方法离开频道,否则无法加入其他频道。
    • 0:成功;
    • 非0:失败。
    • 失败原因错误码见回调函数:onLeaveChannelResult
  • isInCall: 获取状态:当前是否在频道中。

     BOOL isInCall ()

    返回说明

    • YES,表示当前已经加入了频道。
    • NO, 表示当前不在频道中。
    重要

    该方法可在加入频道前或加入频道后调用。

  • getUserInfo: 查询远端用户状态。

     NSDictionary *_Nullable getUserInfo (NSString *_Nonnull uid)

    参数说明

    参数

    类型

    描述

    uid

    NSString *_Nonnull

    用户ID。从Appserver分配的唯一标示符。

    返回说明

    • dict App提供的容器,用于存放用户数据,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默认设置为推送视频流,加入频道前调用此接口设置推送视频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭视频流推送。

    本地视频流内容默认为摄像头采集视频,如需自定义输入视频推送内容,可参考接口setExternalVideoSource使用外部视频输入替换摄像头采集。

    本地视频推流结果发生变化时,SDK会触发onVideoPublishStateChanged回调通知视频推流最新状态。

  • publishLocalAudioStream: 是否推送音频流。

     int publishLocalAudioStream (BOOL enabled)

    参数说明

    参数

    类型

    描述

    enabled

    BOOL

    是否开启/关闭本地音频流推流。

    YES:开启音频流推送。

    NO:关闭音频流推送。

    返回说明

    • 0:设置成功;
    • <0:设置失败。
    • DingRtcErrInner:SDK内部状态错误,需检查是否创建SDK实例成功。
    重要

    SDK默认设置推送音频流,加入频道前调用此接口设置推送音频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭音频流推送。

    本地音频流内容默认为麦克风采集音频,如需自定义输入音频推送内容,可参考接口setExternalAudioSource使用外部音频输入替换麦克风采集。

    本地音频推流结果发生变化时,SDK会触发回调通知音频推流最新状态。

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

     BOOL isLocalVideoStreamPublished ()

    返回说明

    • YES:已设置推送;
    • NO:未设置推送。
    重要

    SDK默认设置推送视频流,如果需要取消推送视频流,可以通过publishLocalVideoStream方法设置为不推送。

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

     BOOL isLocalAudioStreamPublished ()

    返回说明

    • YES:已设置推送;
    • NO:未设置推送。
    重要

    SDK默认设置推送音频流,如果需要取消推送音频流,可以通过publishLocalAudioStream方法设置为不推送。

  • 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:未设置推送。
  • 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

    屏幕分享配置(暂不支持指定区域分享)。

    返回说明

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

    根据窗口id进行屏幕分享暂不支持指定区域分享,既 config 无效果。

  • updateScreenShareConfig: 更新当前正在进行中的屏幕分享的配置。

     int updateScreenShareConfig (DingRtcScreenShareConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    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: 停止/恢复订阅远端用户的视频流。

     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,会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过 来主动订阅某个人的远端视频流。

  • 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: 停止/恢复订阅远端用户的视频流。

     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,会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过 来主动订阅某个人的远端视频流。

  • 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的状态。

  • 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

    只支持和 DingRtcVideoTrackScreen。

    返回说明

    • 0:表示Success;
    • 非0:表示Failure。
    重要

    视频流暂停发送时,采集和编码模块仍然在工作。

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

     void setVideoEncoderConfiguration (DingRtcVideoEncoderConfiguration *_Nonnull config)

    该方法用于设置相机流视频编码属性对应的视频参数,如分辨率、帧率、码率、视频方向等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节。

    参数说明

    参数

    类型

    描述

    config

    DingRtcVideoEncoderConfiguration

    预定义的编码属性,详见DingRtcVideoEncoderConfiguration

    重要

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

  • enableBeautyFace: 开启或关闭视频美颜。

     int enableBeautyFace (BOOL enable,[withOption] DingRtcBeautyFaceOptions *_Nonnull options)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否开启。

    options

    DingRtcBeautyFaceOptions

    美颜参数。

    返回说明

    • 0:成功;
    • 非0:失败。
  • enableVirtualBackground: 开启或关闭虚拟背景。

     int enableVirtualBackground (BOOL enable,[withOption] DingRtcVirtualBackgroundOptions *options)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否开启。

    options

    DingRtcVirtualBackgroundOptions

    虚拟背景参数。

    返回说明

    • 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:失败。
  • enableVideoFrameObserver: 设置视频帧数据观察开关。

     int enableVideoFrameObserver (BOOL enable,[position] DingRtcVideoObservePosition position)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否允许数据回调。

    position

    DingRtcVideoObservePosition

    视频数据类型,详见DingRtcVideoObservePosition。

    返回说明

    0:sucess。

  • 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默认设置为推送视频流,加入频道前调用此接口设置推送视频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭视频流推送。

    本地视频流内容默认为摄像头采集视频,如需自定义输入视频推送内容,可参考接口setExternalVideoSource使用外部视频输入替换摄像头采集。

    本地视频推流结果发生变化时,SDK会触发onVideoPublishStateChanged回调通知视频推流最新状态。

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

     void setScreenShareEncoderConfiguration (DingRtcScreenShareEncoderConfiguration *_Nonnull config)

    该方法用于设置屏幕流视频编码属性对应的视频参数,如分辨率、帧率、码率、视频方向等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节。

    参数说明

    参数

    类型

    描述

    config

    DingRtcScreenShareEncoderConfiguration

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

    重要

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

  • setAudioDenoise: 设置音频去噪功能。

     int setAudioDenoise (DingRtcAudioDenoiseOptions *_Nonnull options)

    参数说明

    参数

    类型

    描述

    options

    DingRtcAudioDenoiseOptions

    音频去噪参数。

    返回说明

    • 0:成功;
    • 非0:失败。
    重要

    音乐场景下会自动关闭去噪功能。

  • 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默认设置推送音频流,加入频道前调用此接口设置推送音频流,将在加入频道成功时生效,加入频道成功后可以随时调用此接口开启/关闭音频流推送。

    本地音频流内容默认为麦克风采集音频,如需自定义输入音频推送内容,可参考接口setExternalAudioSource使用外部音频输入替换麦克风采集。

    本地音频推流结果发生变化时,SDK会触发回调通知音频推流最新状态。

  • 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。

  • updateViewConfig: 更新本地或远端视频视图属性。

     int updateViewConfig (DingRtcVideoCanvas *_Nonnull canvas,[uid] NSString *_Nullable uid,[forTrack] DingRtcVideoTrack track)

    参数说明

    参数

    类型

    描述

    canvas

    DingRtcVideoCanvas

    视频显示属性,详细见DingRtcVideoCanvas

    uid

    NSString *_Nullable

    UserID,从Appserver分配的唯一标示符。uid为nil或者为""代表本地用户。

    track

    DingRtcVideoTrack

    只支持DingRtcVideoTrackCameraDingRtcVideoTrackScreen。

    返回说明

    • 0 :成功;
    • < 0 :失败。
    重要

    支持joinChannel之前和之后设置。设置view为需要更新的view, 目前支持更新mirrorMode, renderMode, rotationMode

  • setCameraCapturerConfiguration: 设置camera采集偏好(仅适用于iOS系统)。

     int setCameraCapturerConfiguration (DingRtcCameraCapturerConfiguration *_Nonnull config)

    参数说明

    参数

    类型

    描述

    config

    DingRtcCameraCapturerConfiguration

    cameraDirection:设置采集方向,前置或后置。

    返回说明

    0为成功;非0失败。

    重要

    必须在打开摄像头之前设置,如DingRtcEngine, DingRtcEngine之前设置。

  • 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)

    SDK提供了开始录制的功能

    参数说明

    参数

    类型

    描述

    recordOptions

    DingRtcRecordOptions

    录制视频内容及布局,详细定义见DingRtcRecordOptions

    filePath

    NSString *_Nullable

    录制文件的本地保存路径

    fileName

    NSString *_Nullable

    录制文件名

    返回说明

    • YES:成功
    • NO:失败
  • updateRecordLayout: 更新录制内容信息(仅适用于Mac系统)。

     BOOL updateRecordLayout (DingRtcRecordVideoLayout *_Nonnull layout)

    SDK提供了更新录制内容信息的功能,用于实时更新录制模板内容设置

    参数说明

    参数

    类型

    描述

    layout

    DingRtcRecordVideoLayout

    录制视频内容及布局,详细定义见DingRtcRecordVideoLayout

    返回说明

    • YES:成功,
    • NO:失败。
    重要

    updateRecordLayout更新录制内容信息应该在录制过程中调用

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

     BOOL pauseRecord ()

    SDK提供了暂停录制的功能。

    返回说明

    • YES:成功,
    • NO:失败。
  • resumeRecord: 重新开启录制(仅适用于Mac系统)。

     BOOL resumeRecord ()

    SDK提供了重新开始录制的功能。

    返回说明

    • YES:成功,
    • NO:失败。
  • stopRecord: 停止录制(仅适用于Mac系统)

     void stopRecord ()

    SDK提供了停止录制的功能

  • 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)

    该方法用于设置屏幕流视频编码属性对应的视频参数,如分辨率、帧率、码率、视频方向等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节。

    参数说明

    参数

    类型

    描述

    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:未设置推送。
  • 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

    屏幕分享配置(暂不支持指定区域分享)。

    返回说明

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

    根据窗口id进行屏幕分享暂不支持指定区域分享,既 config 无效果。

  • updateScreenShareConfig: 更新当前正在进行中的屏幕分享的配置。

     int updateScreenShareConfig (DingRtcScreenShareConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    config

    DingRtcScreenShareConfig

    屏幕分享配置,详见DingRtcScreenShareConfig

    返回说明

    • 0: 设置成功
    • <0: 失败。
    重要

    正在屏幕分享中才有效。桌面分享可进行更新,窗口分享暂不支持指定区域分享,也就不支持更新。

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

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

    参数说明

    参数

    类型

    描述

    type

    DingRtcScreenShareType

    屏幕分享类型,详见DingRtcScreenShareType

    返回说明

    返回屏幕共享源列表。

  • setAudioDenoise: 设置音频去噪功能。

     int setAudioDenoise (DingRtcAudioDenoiseOptions *_Nonnull options)

    参数说明

    参数

    类型

    描述

    options

    DingRtcAudioDenoiseOptions

    音频去噪参数。

    返回说明

    • 0:成功;
    • 非0:失败。
    重要

    音乐场景下会自动关闭去噪功能。

  • 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前设置有效。

  • startRecordingDeviceTest: 开始测试音频采集设备

     int startRecordingDeviceTest ()

    返回说明

    0表示Success 非0表示Failure

    重要

    请在joinChannel之前调用

  • stopRecordingDeviceTest: 停止测试音频采集设备

     int stopRecordingDeviceTest ()

    返回说明

    0表示Success 非0表示Failure

    重要

    请在joinChannel之前调用

  • startPlayoutDeviceTest: 开始测试音频播放设备

     int startPlayoutDeviceTest (NSString *_Nonnull filePath)

    参数说明

    参数

    类型

    描述

    filePath

    NSString *_Nonnull

    音频文件路径

    返回说明

    0表示Success 非0表示Failure

    重要

    请在joinChannel之前调用

  • stopPlayoutDeviceTest: 停止测试音频播放设备

     int stopPlayoutDeviceTest ()

    返回说明

    0表示Success 非0表示Failure

    重要

    请在joinChannel之前调用

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

     NSArray< DingRtcDeviceInfo * > *_Nullable getAudioCaptures ()
  • setCurrentAudioCaptureWithID: 选择录音设备(ID)(仅适用于Mac系统)。

     void setCurrentAudioCaptureWithID (NSString *_Nonnull captureID)

    参数说明

    参数

    类型

    描述

    captureID

    NSString *_Nonnull

    音频采集设备Id。

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

     NSArray< DingRtcDeviceInfo * > *_Nullable getAudioRenderers ()
  • getCurrentAudioRendererID: 获取当前使用的扬声器ID(仅适用于Mac系统)。

     NSString *_Nullable getCurrentAudioRendererID ()
  • 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:非静音状态。

  • setCameraCapturerConfiguration: 设置camera采集偏好(仅适用于iOS系统)。

     int setCameraCapturerConfiguration (DingRtcCameraCapturerConfiguration *_Nonnull config)

    参数说明

    参数

    类型

    描述

    config

    DingRtcCameraCapturerConfiguration

    cameraDirection:设置采集方向,前置或后置。

    返回说明

    0为成功;非0失败。

    重要

    必须在打开摄像头之前设置,如DingRtcEngine, DingRtcEngine之前设置。

  • 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,[position] DingRtcAudioObservePosition position)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否允许数据回调。

    position

    DingRtcAudioObservePosition

    音频裸数据源类型,详见DingRtcAudioObservePosition

    返回说明

    0:sucess。

  • enableAudioFrameObserver: 订阅音频数据。

     int enableAudioFrameObserver (BOOL enable,[position] DingRtcAudioObservePosition position,[config] DingRtcAudioObserveConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否允许数据回调。

    position

    DingRtcAudioObservePosition

    音频裸数据源类型,详见DingRtcAudioObservePosition

    config

    DingRtcAudioObserveConfig

    音频回调数据格式及权限,详见DingRtcAudioObserveConfig

    返回说明

    0:sucess。

  • enableAudioFrameObserver: 订阅音频数据。

     int enableAudioFrameObserver (BOOL enable,[audioSource](deprecated) __attribute__)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否允许数据回调。

    audioSource

    音频裸数据源类型,详见DingRtcAudioSource

    返回说明

    0:sucess。

  • setExternalAudioRender: 设置是否启用外部音频渲染源

     int setExternalAudioRender (BOOL enable,[withSampleRate] NSUInteger sampleRate,[channelsPerFrame] NSUInteger channelsPerFrame)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    YES:开启;NO:关闭

    sampleRate

    NSUInteger

    采样率16k,48k...

    channelsPerFrame

    NSUInteger

    声道数1:单声道;2:双声道

    返回说明

    • >=0: 成功
    • <0: 失败
  • pushExternalAudioRenderFrame: 输入外部音频数据渲染到本地

     int pushExternalAudioRenderFrame (DingRtcAudioDataSample *_Nonnull data)

    参数说明

    参数

    类型

    描述

    data

    DingRtcAudioDataSample

    音频数据采样,详见DingRtcAudioDataSample

    返回说明

    • <0: 表示失败;
    • 0: 表示成功;
    • 返回值为DingRtcErrorCode时,需要在间隔投递数据时间长度后再次重试投递
    重要

    为了保证语音连续性,sdk内部会有buffer缓存送进来的音频数据,以每次送10ms数据为例,如果返回DingRtcErrorCode时,说明内部缓冲区已满,建议等待20ms后再重新送当前数据帧;

  • enableCustomAudioCapture: 开启自定义音频采集,开始后,SDK内部不在操作音频采集设备

     int enableCustomAudioCapture (BOOL enable)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否开启

    返回说明

    • 0: 成功
    • <0: 失败
    重要

    使用自定义采集时, 不能在使用外部音频输入源setExternalAudioSource相关功能

  • sendCustomAudioCaptureFrame: 向SDK投送自己采集的音频数据

     int sendCustomAudioCaptureFrame (DingRtcAudioDataSample *_Nonnull data)

    参数说明

    参数

    类型

    描述

    data

    DingRtcAudioDataSample

    音频帧,详见DingRtcAudioDataSample

    返回说明

    • 0: 成功
    • <0: 失败
    重要

    音频帧数据只支持16位PCM格式, 10ms帧长, 采样率支持48000/44100/32000/16000, 声道数支持单声道/双声道

  • enableCustomAudioRender: 开启自定义音频播放,开始后,SDK内部不在操作音频播放设备

     int enableCustomAudioRender (BOOL enable)

    参数说明

    参数

    类型

    描述

    enable

    BOOL

    是否开启

    返回说明

    • 0: 成功
    • <0: 失败
    重要

    使用自定义播放时, 不能在使用外部音频渲染源setExternalAudioRender相关功能

  • getCustomAudioRenderFrame: 获取可播放的音频数据

     int getCustomAudioRenderFrame (DingRtcAudioDataSample *_Nonnull data)

    参数说明

    参数

    类型

    描述

    data

    DingRtcAudioDataSample

    音频帧,详见DingRtcAudioDataSample

    返回说明

    • 0: 成功
    • <0: 失败
    重要

    音频帧buffer需要使用者申请释放, 音频帧数据只支持16位PCM格式, 10ms帧长, 采样率支持48000/44100/32000/16000, 声道数支持单声道/双声道

  • createAudioMixing: 创建伴奏混音实例。

     int createAudioMixing (NSInteger unqiueId,[filePath] NSString *_Nonnull filePath)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id,用户分配。

    filePath

    NSString *_Nonnull

    伴奏文件路径。

    返回说明

    • 0:成功;
    • 非0:失败。
  • destroyAudioMixing: 销毁伴奏混音实例。

     int destroyAudioMixing (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    • 0:成功;
    • 非0:失败。
  • startAudioMixing: 开始伴奏混音。

     int startAudioMixing (NSInteger unqiueId,[config] DingRtcAudioMixingConfig *_Nonnull config)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    config

    DingRtcAudioMixingConfig

    伴奏文件配置,参考DingRtcAudioMixingConfig

    返回说明

    • 0:成功;
    • 非0:失败。
    重要

    可通过onAudioMixingStateChanged监听播放状态。

  • stopAudioMixing: 停止伴奏混音。

     int stopAudioMixing (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    • 0:成功;
    • 非0:失败。
  • pauseAudioMixing: 暂停伴奏混音。

     int pauseAudioMixing (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    • 0:成功;
    • 非0:失败。
  • resumeAudioMixing: 暂停后恢复伴奏混音。

     int resumeAudioMixing (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    • 0:成功;
    • 非0:失败。
  • getAudioMixingDuration: 获取伴奏时长。

     int getAudioMixingDuration (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    伴奏时长,单位ms。返回值为1时,说明获取时长失败。

  • getAudioMixingCurrentPosition: 获取当前伴奏播放时长。

     int getAudioMixingCurrentPosition (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    当前伴奏播放时长,单位ms。返回值为1时,说明获取时长失败。

  • setAudioMixingPosition: 设置伴奏播放位置。

     int setAudioMixingPosition (NSInteger unqiueId,[position] NSInteger position)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    position

    NSInteger

    设置伴奏播放位置,单位ms。

    返回说明

    • 0:成功;
    • 非0:失败。
  • setAudioMixingVolume: 设置伴奏音量。

     int setAudioMixingVolume (NSInteger unqiueId,[volume] NSInteger volume)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    volume

    NSInteger

    伴奏音量,取值[0,100]。

    返回说明

    • 0:成功;
    • 非0:失败。
  • getAudioMixingVolume: 获取伴奏音量。

     int getAudioMixingVolume (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    伴奏音量, < 0 代表获取失败。

  • setAudioMixingPublishVolume: 设置伴奏推流音量。

     int setAudioMixingPublishVolume (NSInteger unqiueId,[volume] NSInteger volume)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    volume

    NSInteger

    伴奏推流音量,取值[0,100]。

    返回说明

    • 0:成功;
    • 非0:失败。
  • getAudioMixingPublishVolume: 获取伴奏推流音量。

     int getAudioMixingPublishVolume (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    伴奏推流音量, < 0 代表获取失败。

  • setAudioMixingPlayoutVolume: 设置伴奏播放音量。

     int setAudioMixingPlayoutVolume (NSInteger unqiueId,[volume] NSInteger volume)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    volume

    NSInteger

    伴奏播放音量,取值[0,100]。

    返回说明

    • 0:成功;
    • 非0:失败。
  • getAudioMixingPlayoutVolume: 获取伴奏播放音量。

     int getAudioMixingPlayoutVolume (NSInteger unqiueId)

    参数说明

    参数

    类型

    描述

    unqiueId

    NSInteger

    伴奏文件id。

    返回说明

    伴奏播放音量, < 0 代表获取失败。

  • setExternalVideoSource: 设置外部视频源。

     int setExternalVideoSource (BOOL enable,[track] DingRtcVideoTrack track)
  • pushExternalVideoFrame: 推送外部视频数据。

     int pushExternalVideoFrame (DingRtcVideoFrame *_Nonnull frame,[track] DingRtcVideoTrack track)
  • joinAudioGroup: 加入音频分组。如果分组当前不存在,则自动创建一个。

     int joinAudioGroup (NSString *_Nonnull groupId,[usrData] NSString *_Nullable usrData)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    指定加入的音频分组,不可以是大厅(audioGroupHallId)。

    usrData

    NSString *_Nullable

    可以额外提供一个字符串,业务层自行解释。长度不超过64字节。

    返回说明

    • 如果返回0,结果将会通过onAudioGroupJoinResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息onAudioGroupJoinResult。
    重要

    usrData暂时未支持。

  • leaveAudioGroup: 离开音频分组。

     int leaveAudioGroup (NSString *_Nonnull groupId)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    要离开的音频分组,不可以是大厅(audioGroupHallId)。

    返回说明

    • 如果返回0,结果将会通过OnAudioGroupLeaveResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioGroupLeaveResult。
    重要

    如果离开了分组,那么没有权限再订阅该分组的音频,也没有权限向该分组mix音频流。

  • dismissAudioGroup: 解散音频分组,所有成员被迫离开该音频分组。

     int dismissAudioGroup (NSString *_Nonnull groupId)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    要解散的音频分组,不可以是大厅(audioGroupHallId)。

    返回说明

    • 如果返回0,结果将会通过OnAudioGroupDismissResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioGroupDismissResult。
  • mixAudioToGroup: 本地音频合并进分组音频或者大厅音频中。

     int mixAudioToGroup (NSString *_Nonnull groupId,[mix] BOOL mix)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *_Nonnull

    指定的音频分组,可以是大厅(audioGroupHallId)。

    mix

    BOOL

    true表示合并,false表示不合并。

    返回说明

    • 如果返回0,结果将会通过OnAudioGroupMixResult通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioGroupMixResult。
    重要

    前提条件:1,已经做了音频的publish; 2,权限要求:用户需要在目标分组或者大厅中。

  • switchSubscriptionToAudioGroup: 切换订阅的音频流到指定的分组或者大厅音频。

     int switchSubscriptionToAudioGroup (NSString *groupId)

    参数说明

    参数

    类型

    描述

    groupId

    NSString *

    指定的音频分组,可以是大厅(audioGroupHallId)。

    返回说明

    • 如果返回0,结果将会通过OnAudioSubscribeStateChanged通知app。
    • 如果返回<0,则调用失败,不会有通知消息OnAudioSubscribeStateChanged。
    重要

    切换过程会有多次 onAudioSubscribeStateChanged 通知。

  • getCurrentSubscribedAudio: 查询当前订阅的音频的类型,可能是大厅音频,也可能是某个分组的音频。

     NSString *_Nullable getCurrentSubscribedAudio ()

    返回说明

    返回的是 groupId,如果 nil 或者 "",表示无订阅,如果是audioGroupHallId,表示大厅音频,否则,返回分组音频对应的分组ID。

  • 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分配的唯一标示符。

    返回说明

    • dict App提供的容器,用于存放用户数据,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。

    重要

    回调默认分发至主线程队列(iOS Default:YES,Mac Default: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。

  • I420RotateWithSrcY: 将I420格式的视频帧进行角度的旋转。

     int I420RotateWithSrcY (const unsigned char *_Nonnull srcY,[srcStrideY] int srcStrideY,[srcU] const unsigned char *_Nonnull srcU,[srcStrideU] int srcStrideU,[srcV] const unsigned char *_Nonnull srcV,[srcStrideV] int srcStrideV,[dstY] unsigned char *_Nonnull dstY,[dstStrideY] int dstStrideY,[dstU] unsigned char *_Nonnull dstU,[dstStrideU] int dstStrideU,[dstV] unsigned char *_Nonnull dstV,[dstStrideV] int dstStrideV,[width] int width,[height] int height,[mode] int mode)

    参数说明

    参数

    类型

    描述

    width

    视频帧原始宽度。

    height

    视频帧原始高度。

    mode

    视频帧的旋转角度,一般为0,90,180,270。

    返回说明

    • 0:成功
    • < 0:失败。