文档

DingRtcEngine接口

更新时间:

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

接口说明

目录

基础接口

API

描述

支持的最低版本

create

获取DingRtcEngine实例。

3.0

destroy

销毁DingRtcEngine实例。

3.0

setRtcEngineEventListener

设置Engine回调。

3.0

频道相关接口

API

描述

支持的最低版本

joinChannel

加入频道。

3.0

leaveChannel

离开频道。

3.0

isInCall

获取当前是否在频道中。

3.0

发布相关接口

API

描述

支持的最低版本

publishLocalVideoStream

是否推送本地视频流。

3.0

publishLocalAudioStream

是否推送音频流。

3.0

isLocalVideoStreamPublished

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

3.0

isLocalAudioStreamPublished

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

3.0

订阅相关接口

API

描述

支持的最低版本

setRemoteVideoStreamType

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

3.0

setRemoteDefaultVideoStreamType

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

3.0

subscribeAllRemoteAudioStreams

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

3.0

subscribeAllRemoteVideoStreams

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

3.0

subscribeRemoteVideoStream

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

3.0

视频相关接口

API

描述

支持的最低版本

setCameraCapturerConfiguration

采集偏好设置。

3.0

createRenderSurfaceView

创建视频显示的SurfaceView。

3.0

createRenderTextureView

创建视频显示的TextureView。

3.0

setLocalViewConfig

设置本地预览显示视图。

3.0

enableLocalVideo

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

3.0

muteLocalCamera

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

3.0

snapshotVideo

视频截图功能。

3.0

setVideoEncoderConfiguration

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

3.0

setScreenShareEncoderConfiguration

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

3.0

setRemoteViewConfig

设置远端视频显示视图。

3.0

switchCamera

切换前后摄像头。

3.0

共享视频相关接口

API

描述

支持的最低版本

isScreenSharePublished

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

3.0

startScreenShare

启动屏幕分享。

3.0

startScreenShare

启动屏幕分享。

3.0

stopScreenShare

停止屏幕共享。

3.0

音频相关接口

API

描述

支持的最低版本

muteLocalMic

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

3.0

enableSpeakerphone

设置音频输出为听筒还是扬声器。

3.0

isSpeakerphoneEnabled

获取当前音频输出为听筒还是扬声器。

3.0

setAudioProfile

设置音频profile。

3.0

enableAudioVolumeIndication

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

3.0

媒体引擎相关接口

API

描述

支持的最低版本

registerAudioFrameObserver

注册音频数据输出。

3.0

enableAudioFrameObserver

设置音频回调参数。

3.0

startRecordingDeviceTest

开始音频设备录音测试

3.0

stopRecordingDeviceTest

停止音频设备录音测试

3.0

startPlayoutDeviceTest

开始音频设备播放测试

3.0

stopPlayoutDeviceTest

停止音频设备播放测试

3.0

registerVideoSampleObserver

注册视频数据输出对象

3.0

unRegisterVideoSampleObserver

取消视频数据输出对象。

3.0

enableVideoSampleObserver

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

3.1

setExternalVideoSource

启用外部视频输入源。

3.0

pushExternalVideoFrame

输入视频数据。

3.0

setExternalAudioSource

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

3.0

pushExternalAudioFrame

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

3.0

setExternalAudioRender

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

3.0

pushExternalAudioRenderFrame

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

3.0

预览相关接口

API

描述

支持的最低版本

startPreview

开启本地视频预览。

3.0

stopPreview

关闭本地视频预览。

3.0

远端用户查询接口

API

描述

支持的最低版本

getOnlineRemoteUsers

获取远端在线用户列表。

3.0

getUserInfo

查询远端用户状态。

3.0

isUserOnline

查询用户是否在线。

3.0

其他接口

API

描述

支持的最低版本

setLogLevel

设置日志等级。

3.0

setLogDirPath

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

3.0

getSDKVersion

查询SDK当前版本号。

3.0

getErrorDescription

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

3.0

接口详情

  • create: 获取DingRtcEngine实例。

     public static create (Context context, String extras)

    该方法为同步调用,提供一个SDK对象实例。

    参数说明

    参数

    类型

    描述

    context

    Context

    Android上下文。

    extras

    String

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

    重要

    调用destroy方法进行资源释放。

  • destroy: 销毁DingRtcEngine实例。

     public void destroy ()

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

    重要

    该方法为同步调用,需要等待内部资源释放之后才能执行其他方法,为避免主线程阻塞,建议开发者放在子线程调用该方法,但需要注意的是如需在销毁后再次创建DingRtcEngine实例,请开发者务必保证destroy方法执行结束后再创建实例。为避免死锁,不建议在任何SDK的回调中调用本方法。

  • setRtcEngineEventListener: 设置Engine回调。

     public void setRtcEngineEventListener (DingRtcEngineEventListener listener)

    DingRtcEngineEventListener类是SDK向应用回调事件的通知,应用开发者需要实现该接口类的方法来获取相关事件通知。默认所有接口都有空实现,开发者不需要实现所有方法,可根据自身业务来实现对应的事件方法。

    参数说明

    参数

    类型

    描述

    listener

    DingRtcEngineEventListener

    用于接收来自engine的消息。

    重要

    所有的回调方法都是SDK内部的线程,不可以做UI操作,有UI相关操作需要抛主线程操作。不建议在回调方法中做耗时操作,如调用engine本身的destroy方法,这将有可能引起不必要的阻塞从而影响SDK的运行。

  • joinChannel: 加入频道。

     public int joinChannel (DingRtcAuthInfo authInfo, String userName)

    该方法让用户加入频道,一个频道内可以加入多个用户进行互相通话。

    参数说明

    参数

    类型

    描述

    authInfo

    DingRtcAuthInfo

    认证信息,从AppServer获取。

    userName

    String

    任意用于显示的用户名称,不是UserID。

    返回说明

    0:成功;<0:失败。

    //加入频道onJoinChannelResult会回调engine.joinChannel(authInfo,userName);
    重要

    异步接口。是否成功入会,通过onJoinChannelResult判断。正常情况一个Appid对应一个App,只有同一个AppId的应用可进行互相童话,不同AppId和channelID不同都不能互通。当入会成功后,会触发远端用户收到onRemoteUserOnLineNotify回调。如果已在会中想重新入会,需要先调用leaveChannel离会,且确保onLeaveChannelResult回调收到后,再次调用进行入会。用户加入频道后,默认订阅频道内所有其他用户的音视频流,默认推送音视频流到远端,因此将会产生计费,如果想要取消默认订阅可以joinChannel前调用subscribeAllRemoteAudioStreamssubscribeAllRemoteVideoStreams

  • leaveChannel: 离开频道。

     public int leaveChannel ()

    调用该方法代表离开频道,即挂断或者停止通话。异步方法,成功调用后需要收到onLeaveChannelResult才会真正退出频道,离开频道成功远端用户会触发会收到onRemoteUserOnLineNotify回调。如果未加入频道入会,leaveChannel不会有任何影响。加入频道后,必须要调用该方法离开频道,否则无法加入其他频道。

    返回说明

    0:成功;<0:失败。

    重要

    失败原因错误码见回调函数:onLeaveChannelResult。如果调用了leaveChannel后立刻调用destroy方法,SDK将会无法触发onLeaveChannelResult

  • isInCall: 获取当前是否在频道中。

     public boolean isInCall ()

    返回说明

    true:当前已经加入了频道;false:当前不在频道中。

    重要

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

  • publishLocalVideoStream: 是否推送本地视频流。

     public int publishLocalVideoStream (boolean enabled)

    参数说明

    参数

    类型

    描述

    enabled

    boolean

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

    true:开启视频流推送。

    false:关闭视频流推送。

    返回说明

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

    重要

    SDK默认设置推送视频流,在加入频道前也可以调用此接口修改默认值,并在加入频道成功时生效。

  • publishLocalAudioStream: 是否推送音频流。

     public int publishLocalAudioStream (boolean enabled)

    参数说明

    参数

    类型

    描述

    enabled

    boolean

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

    true:开启音频流推送。

    false:关闭音频流推送。

    返回说明

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

    重要

    SDK默认设置推送音频流,在加入频道前也可以调用此接口修改默认值,并在加入频道成功时生效。

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

     public boolean isLocalVideoStreamPublished ()

    返回说明

    true:已设置推送;false:未设置推送。

    重要

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

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

     public boolean isLocalAudioStreamPublished ()

    返回说明

    true:已设置推送;false:未设置推送。

    重要

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

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

     public int setRemoteVideoStreamType (String uid, DingRtcVideoStreamType streamType)

    参数说明

    参数

    类型

    描述

    uid

    String

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

    streamType

    DingRtcVideoStreamType

    视频流的分辨率规格,详见DingRtcVideoStreamType

    返回说明

    0:成功;非0:失败。

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

     public int setRemoteDefaultVideoStreamType (DingRtcVideoStreamType streamType)

    参数说明

    参数

    类型

    描述

    streamType

    DingRtcVideoStreamType

    视频流的分辨率规格,详见DingRtcVideoStreamType

    返回说明

    0:成功;非0:失败。

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

     public int subscribeAllRemoteAudioStreams (boolean sub)

    参数说明

    参数

    类型

    描述

    sub

    boolean

    true:订阅所有用户的音频流,后入会成员会自动订阅其音频。

    false:停止订阅所有用户的音频流,后入会成员也不会自动订阅其音频。

    返回说明

    0:成功;非0:失败。

    重要

    入会前入会后均可以调用。

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

     public int subscribeAllRemoteVideoStreams (boolean sub)

    参数说明

    参数

    类型

    描述

    sub

    boolean

    true:接收所有用户的视频流,后入会成员会自动订阅其视频。

    false:停止允许接收所有用户的视频流,后入会成员也不会自动订阅其视频。

    返回说明

    0:成功;入会前入会后均可以调用;如果设置了subscribeAllRemoteVideoStreams(false),会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过subscribeRemoteVideoStream来主动订阅某个人的远端视频流;

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

     public int subscribeRemoteVideoStream (String uid, DingRtcVideoTrack track, boolean sub)

    参数说明

    参数

    类型

    描述

    uid

    String

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

    track

    DingRtcVideoTrack

    视频流类型。

    sub

    boolean

    true:接收指定用户的视频流。

    false:停止接收指定用户的视频流。

    返回说明

    0:成功;非0:失败。入会前入会后均可以调用;如果设置了subscribeAllRemoteVideoStreams(false),会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过subscribeRemoteVideoStream来主动订阅某个人的远端视频流;

  • setCameraCapturerConfiguration: 采集偏好设置。

     public int setCameraCapturerConfiguration (DingEngineCameraCapturerConfiguration cameraCapturerConfiguration)

    参数说明

    参数

    类型

    描述

    cameraCapturerConfiguration

    DingEngineCameraCapturerConfiguration

    preference:

    com::ding::rtc::DingRtcEngine::DingRtcCaptureOutputPreference#DingRtc_CAPTURER_OUTPUT_PREFERENCE_PREVIEW高清预览,采集优先保证视频预览质量。

    com::ding::rtc::DingRtcEngine::DingRtcCaptureOutputPreference#DingRtc_CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE采集选择最接近推流的分辨率,优先保证设备性能。

    com::ding::rtc::DingRtcEngine::DingRtcCaptureOutputPreference#DingRtc_CAPTURER_OUTPUT_PREFERENCE_AUTO自动调整采集分辨率。

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

    返回说明

    0:成功;非0:表示失败。

    重要

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

  • createRenderSurfaceView: 创建视频显示的SurfaceView。

     public  createRenderSurfaceView (Context context)

    显示视频视图必须调用该方法,而不是直接调用SurfaceView。如果需要创建TextureView,则调用createRenderTextureView。将返回值赋值view,调用setLocalViewConfig设置本地预览显示视图或者调用setRemoteViewConfig。设置远程预览显示视图。

    参数说明

    参数

    类型

    描述

    context

    Context

    活动上下文。

    返回说明

    SurfaceView类型的实例。

    重要

    请在主线程调用该方法。

  • createRenderTextureView: 创建视频显示的TextureView。

     public  createRenderTextureView (Context context)

    显示视频视图必须调用该方法,而不是直接调用TextureView。如果需要创建SurfaceView,则调用createRenderSurfaceView。将返回值赋值view,调用setLocalViewConfig设置本地预览显示视图或者调用setRemoteViewConfig设置远程预览显示视图。

    参数说明

    参数

    类型

    描述

    context

    Context

    活动上下文。

    返回说明

    TextureView类型的实例。

    重要

    请在主线程调用该方法。

  • setLocalViewConfig: 设置本地预览显示视图。

     public int setLocalViewConfig (DingRtcVideoCanvas viewConfig, DingRtcVideoTrack track)

    参数说明

    参数

    类型

    描述

    viewConfig

    DingRtcVideoCanvas

    本地视频显示属性。

    track

    DingRtcVideoTrack

    只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。

    返回说明

    0:成功;<0:失败。

    重要

    支持joinChannel之前和之后切换窗口。如果canvas或者view为null,则停止显示。如果需要重新设置renderMode,请保持canvas中其他属性不变,仅修改renderMode。如果需要重新设置mirrorMode,请保持canvas中其他属性不变,仅修改mirrorMode。

  • enableLocalVideo: 禁用或启用本地视频采集。

     public int enableLocalVideo (boolean enabled)

    参数说明

    参数

    类型

    描述

    enabled

    boolean

    true:启用本地视频采集。

    false:禁用本地视频采集。

    返回说明

    0:成功;<0:失败。

    重要

    默认为开启状态。

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

     public int muteLocalCamera (boolean mute, DingRtcVideoTrack track)

    参数说明

    参数

    类型

    描述

    mute

    boolean

    true表示视频数据发送黑帧。

    false表示恢复正常。

    track

    DingRtcVideoTrack

    只支持DingRtcVideoTrackCamera。

    返回说明

    0:成功;非0:失败。

    重要

    发送黑色的视频帧。采集,编码,发送模块仍然工作,只是编码视频内容是黑色帧。

  • snapshotVideo: 视频截图功能。

     public int snapshotVideo (String uid, DingRtcVideoTrack track, String path)

    参数说明

    参数

    类型

    描述

    uid

    String

    用户ID,uid为""代表本地用户。

    track

    DingRtcVideoTrack

    视频流类型,只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。

    path

    String

    截图保存路径。

    返回说明

    0:仅代表调用该接口成功,是否获取到截图画面,详细见onSnapshotComplete。<0:失败。

    重要

    视频截图功能为异步接口,通过监听onSnapshotComplete回调获取当前截图画面。

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

     public void setVideoEncoderConfiguration (DingRtcVideoEncoderConfiguration config)

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

    参数说明

    参数

    类型

    描述

    config

    DingRtcVideoEncoderConfiguration

    预定义的编码属性。

    重要

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

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

     public void setScreenShareEncoderConfiguration (DingRtcScreenShareEncoderConfiguration config)

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

    参数说明

    参数

    类型

    描述

    config

    DingRtcScreenShareEncoderConfiguration

    预定义的屏幕共享编码属性。

    重要

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

  • setRemoteViewConfig: 设置远端视频显示视图。

     public int setRemoteViewConfig (DingRtcVideoCanvas canvas, String uid, DingRtcVideoTrack track)

    参数说明

    参数

    类型

    描述

    canvas

    DingRtcVideoCanvas

    本地视频显示属性。

    uid

    String

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

    track

    DingRtcVideoTrack

    只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。

    返回说明

    0:成功;<0:失败。

    重要

    支持joinChannel之前和之后切换窗口。如果canvas或者view为null,则停止显示。如果需要重新设置renderMode,请保持canvas中其他属性不变,仅修改renderMode。如果需要重新设置mirrorMode,请保持canvas中其他属性不变,仅修改mirrorMode。

  • switchCamera: 切换前后摄像头。

     public int switchCamera ()

    返回说明

    0:成功;非0:失败。

    重要

    只有iOS和android提供这个接口。

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

     public boolean isScreenSharePublished ()

    返回说明

    true:已设置推送;false:未设置推送。

    重要

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

  • startScreenShare: 启动屏幕分享。

     public int startScreenShare ()

    返回说明

    0:成功;非0:失败。

    重要

    此接口即将废弃,建议使用新接口startScreenShare(Intent, DingRtcScreenShareMode)。

  • startScreenShare: 启动屏幕分享。

     public int startScreenShare (Intent intent, DingRtcScreenShareMode screenShareMode)

    参数说明

    参数

    类型

    描述

    intent

    Intent

    外部创建启动屏幕分享的Activity,外部未创建则传null,建议传null。

    screenShareMode

    DingRtcScreenShareMode

    屏幕共享模式,只共享音频/视频/音视频。

    返回说明

    0:成功;非0:失败。

  • stopScreenShare: 停止屏幕共享。

     public int stopScreenShare ()

    返回说明

    0:成功;非0:失败。

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

     public int muteLocalMic (boolean mute, DingRtcMuteLocalAudioMode mode)

    参数说明

    参数

    类型

    描述

    mute

    boolean

    true表示静音本地音频,发送静音帧。

    false表示取消静音。

    mode

    DingRtcMuteLocalAudioMode

    静音模式,静音模式分三种,详见DingRtcMuteLocalAudioMode,默认模式为静音本地麦克风采集音频和所有外部输入音频。

    返回说明

    0:成功;非0:失败。

    重要

    静音是指音频流发送静音帧,采集和编码模块仍然在工作。

  • enableSpeakerphone: 设置音频输出为听筒还是扬声器。

     public int enableSpeakerphone (boolean enable)

    参数说明

    参数

    类型

    描述

    enable

    boolean

    true:扬声器模式(默认扬声器)。

    false:听筒模式。

    返回说明

    0:成功;<0:失败。

    重要

    DingRtcAudioScenario为DingRtcSceneMediaMode或者{DingRtcAudioScenario::DingRtcSceneMusicMode}时只支持扬声器播放。

  • isSpeakerphoneEnabled: 获取当前音频输出为听筒还是扬声器。

     public boolean isSpeakerphoneEnabled ()

    返回说明

    true:扬声器模式;false:听筒模式。

  • setAudioProfile: 设置音频profile。

     public int setAudioProfile (DingRtcAudioProfile profile, DingRtcAudioScenario scenario)

    参数说明

    参数

    类型

    描述

    profile

    DingRtcAudioProfile

    音频采集/编码模式参数。

    scenario

    DingRtcAudioScenario

    音频场景模式参数。

    返回说明

    0:成功;其他:失败。

    重要

    只支持joinChannel前设置有效。

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

     public int enableAudioVolumeIndication (int interval, int smooth, int reportVad)

    参数说明

    参数

    类型

    描述

    interval

    int

    时间间隔,单位毫秒,最小值不得小于10ms,建议设置300-500ms,<=0表示不启用音量提示和说话人提示功能。

    smooth

    int

    平滑系数,数值越大平滑程度越高,反之越低,实时性越好,建议设置3,范围[0,9]。

    reportVad

    int

    说话人检测开关

    1:开启。

    0:关闭。

    返回说明

    0:成功;<0:失败。

    重要

    设置之后,音频音量和说话人uid会分别通过onAudioVolume和onActiveSpeaker回调。

  • registerAudioFrameObserver: 注册音频数据输出。

     public void registerAudioFrameObserver (DingRtcAudioFrameObserver observer)

    参数说明

    参数

    类型

    描述

    observer

    DingRtcAudioFrameObserver

    音频数据回调接收对象。

    重要

    需要调用enableAudioFrameObserver开启具体DingRtcAudioSource的回调。

  • enableAudioFrameObserver: 设置音频回调参数。

     public int enableAudioFrameObserver (boolean enable, DingRtcAudioSource audioSource)

    参数说明

    参数

    类型

    描述

    enable

    boolean

    是否允许数据回调。

    audioSource

    DingRtcAudioSource

    回调数据源类型。

    返回说明

    0:success;others:fail。

  • startRecordingDeviceTest: 开始音频设备录音测试

     public int startRecordingDeviceTest ()

  • stopRecordingDeviceTest: 停止音频设备录音测试

     public int stopRecordingDeviceTest ()

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

     public int startPlayoutDeviceTest (String wavPath)

    参数说明

    参数

    类型

    描述

    wavPath

    String

    wav文件路径

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

     public int stopPlayoutDeviceTest ()

  • registerVideoSampleObserver: 注册视频数据输出对象

     public void registerVideoSampleObserver (DingRtcVideoObserver observer)

    参数说明

    参数

    类型

    描述

    observer

    DingRtcVideoObserver

    视频数据输出对象。

  • unRegisterVideoSampleObserver: 取消视频数据输出对象。

     public void unRegisterVideoSampleObserver ()

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

     public int enableVideoSampleObserver (boolean enable, int position)

    参数说明

    参数

    类型

    描述

    enable

    boolean

    是否允许数据回调。

    position

    int

    视频数据类型,详见DingRtcVideoObservePosition。

    返回说明

    0:success;others:fail。

  • setExternalVideoSource: 启用外部视频输入源。

     public int setExternalVideoSource (boolean enable, boolean useTexture, DingRtcVideoTrack streamType, DingRtcRenderMode renderMode)

    参数说明

    参数

    类型

    描述

    enable

    boolean

    true:开启。

    false:关闭。

    useTexture

    boolean

    是否输入纹理数据。

    true:纹理数据。

    false:非纹理数据。

    streamType

    DingRtcVideoTrack

    流类型

    DingRtcVideoTrackCamera外部输入视频数据走相机流通道,如果当前相机采集打开中,调用该接口设置enable为true,sdk会替换掉相机采集。

    DingRtcVideoTrackScreen外部输入视频数据走屏幕流通道,如果当前屏幕共享采集打开中,调用该接口设置enable为true,sdk会替换掉屏幕共享采集。

    renderMode

    DingRtcRenderMode

    处理模式,外部输入视频源宽高比和推流profile不一致时,会按照对应的rendermode做对应处理。

    DingRtcRenderModeAuto自动(默认)如果外部输入的视频宽高比和推流设置的宽高比不一致时,维持外部输入的视频宽高比,等比例缩放宽高到推流设置的宽高范围内,注意此模式下为了保证原始视频的比例和内容完整性,会导致实际推流的分辨率和设置的不一致。

    DingRtcRenderModeStretch拉伸平铺,如果外部输入的视频宽高比和推流设置的宽高比不一致时,将输入视频拉伸到推流设置的比例,画面会变形。

    DingRtcRenderModeFill填充黑边,如果外部输入的视频宽高比和推流设置的宽高比不一致时,将输入视频上下或者左右填充黑边。

    DingRtcRenderModeCrop裁剪,如果外部输入的视频宽高比和推流设置的宽高比不一致时,将输入视频宽或者高进行裁剪,画面内容会丢失。

    返回说明

    0:成功;非0:失败。

  • pushExternalVideoFrame: 输入视频数据。

     public int pushExternalVideoFrame (DingRtcRawDataFrame rawDataFrame, DingRtcVideoTrack streamType)

    参数说明

    参数

    类型

    描述

    rawDataFrame

    DingRtcRawDataFrame

    帧数据,详见DingRtcRawDataFrame

    streamType

    DingRtcVideoTrack

    DingRtcVideoTrackCamera外部输入视频数据走相机流通道。

    DingRtcVideoTrackScreen外部输入视频数据走屏幕流通道。

    返回说明

    0:成功非0:失败

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

     public int setExternalAudioSource (boolean enable, int sampleRate, int channels)

    参数说明

    参数

    类型

    描述

    enable

    boolean

    true开启。

    false关闭。

    sampleRate

    int

    采样率16k48k...

    channels

    int

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

    返回说明

    >=0:成功;<0:失败。

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

     public int pushExternalAudioFrame (DingRtcAudioFrame frame)

    参数说明

    参数

    类型

    描述

    frame

    DingRtcAudioFrame

    帧数据,详见DingRtcAudioFrame

    返回说明

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

    重要

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

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

     public int setExternalAudioRender (boolean enable, int sampleRate, int channels)

    参数说明

    参数

    类型

    描述

    enable

    boolean

    true开启,false关闭

    sampleRate

    int

    采样率16k48k...

    channels

    int

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

    返回说明

    >=0:成功;<0:失败

  • pushExternalAudioRenderFrame: 输入外部音频数据渲染到本地。

     public int pushExternalAudioRenderFrame (DingRtcAudioFrame frame)

    参数说明

    参数

    类型

    描述

    frame

    DingRtcAudioFrame

    帧数据,详见DingRtcAudioFrame

    返回说明

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

    重要

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

  • startPreview: 开启本地视频预览。

     public int startPreview ()

    开启本地视频预览并自动打开摄像头。

    返回说明

    0:成功;<0:失败。

    重要

    如果没有调用setLocalViewConfig设置显示的view,则无法预览,但不影响推流。可以在joinChannel之前就开启预览会自动打开摄像头。

  • stopPreview: 关闭本地视频预览。

     public int stopPreview ()

    关闭本地视频预览并关闭摄像头。

    返回说明

    0:成功;<0:失败。

    重要

    leaveChannel会自动停止本地预览;如果没有在推相机流,则会自动关闭摄像头。

  • getOnlineRemoteUsers: 获取远端在线用户列表。

     public  getOnlineRemoteUsers ()

    返回说明

    当前频道内所有在线用户userid列表。

    重要

    若当前频道ChannelProfile设置为DingRtcSdkInteractiveLive模式,只有设置角色为DingRtcSdkInteractive的用户为在线用户,本方法不返回角色为DingRtcSdkLive的用户。

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

     public  getUserInfo (String uid)

    通过uid查询指定远端用户的状态信息。

    参数说明

    参数

    类型

    描述

    uid

    String

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

    返回说明

    返回一个远端用户对象。详见DingRtcRemoteUserInfo

  • isUserOnline: 查询用户是否在线。

     public boolean isUserOnline (String uid)

    参数说明

    参数

    类型

    描述

    uid

    String

    用户ID,从Appserver分配的唯一标示符。不可为NULL。

    返回说明

    true:用户在线;false:用户不在线。

    重要

    根据特定的UserID,查询该用户是否在线。

  • setLogLevel: 设置日志等级。

     public void setLogLevel (DingRtcLogLevel logLevel)

    参数说明

    参数

    类型

    描述

    logLevel

    DingRtcLogLevel

    Log级别,详见DingRtcLogLevel枚举类型。

    重要

    设置SDK的输出日志等级。默认值为DingRtcLogLevelInfo。调用此接口,请在仅次于SetLogDirPath接口调用之后再调用本接口,避免因日志等级切换造成的打印丢失。

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

     public int setLogDirPath (String logDirPath)

    参数说明

    参数

    类型

    描述

    logDirPath

    String

    日志文件保存目录的绝对路径,该参数是一个目录路径,而不是文件的路径。

    返回说明

    0,成功;非0,失败。其中有两种错误码,释义如下:ERR_LOG_ROOT_PATH_ERROR:路径已存在或因权限问题不可访问。ERR_LOG_ALREADY_INIT:log对象已经初始化过。

    重要

    调用此接口,请在调用其他所有SDK接口前调用本接口,避免日志出现丢失。同时,App必须保证指定的目录已存在并且可以写入。如果,目标路径不可写入或创建日志文件失败,则会使用默认日志路径。本次设置将无效。

  • getSDKVersion: 查询SDK当前版本号。

     public String getSDKVersion ()

    返回说明

    当前的SDK版本号,格式为字符串,例:"2.5.0.x"。

    重要

    在任何时刻都可以调用。

  • getErrorDescription: 根据错误码,获取错误码描述。

     public String getErrorDescription (int errorCode)

    参数说明

    参数

    类型

    描述

    errorCode

    int

    错误码,详见DingRtcErrorCode。

    返回说明

    错误码描述字符串。

    重要

    在任何时刻都可以调用。

  • 本页导读 (0)