通过阅读本文,您可以了解到Android SDK的DingRtcEngine接口详情。
接口说明
目录
基础接口
API |
描述 |
支持的最低版本 |
获取DingRtcEngine实例。 |
3.0 |
|
销毁DingRtcEngine实例。 |
3.0 |
|
设置Engine回调。 |
3.0 |
频道相关接口
API |
描述 |
支持的最低版本 |
加入频道。 |
3.0 |
|
离开频道。 |
3.0 |
|
获取当前是否在频道中。 |
3.0 |
发布相关接口
API |
描述 |
支持的最低版本 |
是否推送本地视频流。 |
3.0 |
|
是否推送音频流。 |
3.0 |
|
查询是否设置推送视频流。 |
3.0 |
|
查询是否设置推送音频流。 |
3.0 |
订阅相关接口
API |
描述 |
支持的最低版本 |
设置订阅视频流分辨率规格。 |
3.0 |
|
设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。 |
3.0 |
|
停止/恢复订阅所有远端音频流,包含后入会成员的订阅。 |
3.0 |
|
停止/恢复订阅所有远端视频流,包含后入会成员的订阅。 |
3.0 |
|
停止/恢复订阅远端用户的视频流。 |
3.0 |
共享视频相关接口
API |
描述 |
支持的最低版本 |
设置屏幕流视频编码属性。 |
3.0 |
|
查询是否设置推送屏幕分享。 |
3.0 |
|
启动屏幕分享。 |
3.0 |
|
启动屏幕分享。 |
3.0 |
|
停止屏幕共享。 |
3.0 |
视频相关接口
API |
描述 |
支持的最低版本 |
采集偏好设置。 |
3.0 |
|
创建视频显示的SurfaceView。 |
3.0 |
|
创建视频显示的TextureView。 |
3.0 |
|
设置本地预览显示视图。 |
3.0 |
|
禁用或启用本地视频采集。 |
3.0 |
|
暂停/恢复本地视频流的发送。 |
3.0 |
|
视频截图功能。 |
3.0 |
|
设置相机流视频编码属性。 |
3.0 |
|
设置远端视频显示视图。 |
3.0 |
|
更新本地或远端视图属性。 |
3.0 |
|
切换前后摄像头。 |
3.0 |
|
设置摄像头缩放。 |
3.0 |
|
设置摄像头闪光灯开关。 |
3.0 |
|
摄像头是否支持手动聚焦。 |
3.0 |
|
设置摄像头手动聚焦点。 |
3.0 |
|
设置摄像头曝光点。 |
3.0 |
音频相关接口
API |
描述 |
支持的最低版本 |
停止/恢复本地音频数据发送。 |
3.0 |
|
设置音频输出为听筒还是扬声器。 |
3.0 |
|
获取当前音频输出为听筒还是扬声器。 |
3.0 |
|
获取当前所有的音频设备。 |
3.3 |
|
设置音频路由设备。 |
3.3 |
|
设置音频profile。 |
3.0 |
|
设置音量回调频率和平滑系数。 |
3.0 |
|
订阅音频数据。 |
3.0 |
|
订阅音频数据。 |
3.3.0 |
|
加入音频分组。如果分组当前不存在,则自动创建一个。 |
3.4 |
|
离开音频分组。 |
3.4 |
|
解散音频分组,所有成员被迫离开该音频分组。 |
3.4 |
|
本地音频合并进分组音频或者大厅音频中。 |
3.4 |
|
查询当前订阅的音频的类型,可能是大厅音频,也可能是某个分组的音频。 |
3.4 |
音频伴奏混音相关接口
API |
描述 |
支持的最低版本 |
获取伴奏混音管理类。 |
3.4 |
|
创建伴奏混音实例。 |
3.4 |
|
销毁伴奏混音实例。 |
3.4 |
|
开始伴奏混音。 |
3.4 |
|
停止伴奏混音。 |
3.4 |
|
暂停伴奏混音。 |
3.4 |
|
暂停后恢复伴奏混音。 |
3.4 |
|
获取伴奏时长。 |
3.4 |
|
获取当前伴奏播放时长。 |
3.4 |
|
设置伴奏播放位置。 |
3.4 |
|
设置伴奏音量。 |
3.4 |
|
获取伴奏音量。 |
3.4 |
|
设置伴奏推流音量。 |
3.4 |
|
获取伴奏推流音量。 |
3.4 |
|
设置伴奏播放音量。 |
3.4 |
|
获取伴奏播放音量。 |
3.4 |
媒体引擎相关接口
API |
描述 |
支持的最低版本 |
注册音频数据输出。 |
3.0 |
|
设置音频回调参数。 |
3.0 |
|
开始音频设备录音测试。 |
3.0 |
|
停止音频设备录音测试。 |
3.0 |
|
开始音频设备播放测试。 |
3.0 |
|
停止音频设备播放测试。 |
3.0 |
|
设置音频播放音量,音量范围[0,100]。 |
3.1 |
|
获取音频播放音量。 |
3.1 |
|
设置音频采集音量,音量范围[0,100]。 |
3.5 |
|
获取音频采集音量。 |
3.5 |
|
设置算法或者其他私有参数。 |
3.4.2 |
|
注册视频数据输出对象 |
3.0 |
|
取消视频数据输出对象。 |
3.0 |
|
设置视频帧数据观察开关。 |
3.1 |
|
启用外部视频输入源。 |
3.0 |
|
输入视频数据。 |
3.0 |
|
设置是否启用外部音频输入源。 |
3.0 |
|
输入外部音频数据推流到远端。 |
3.0 |
|
设置是否启用外部音频渲染源 |
3.0 |
|
输入外部音频数据渲染到本地。 |
3.0 |
|
开启自定义音频采集,开始后,SDK内部不在操作音频采集设备。 |
3.1 |
|
向SDK投送自己采集的音频数据。 |
3.1 |
|
开启自定义音频播放,开始后,SDK内部不在操作音频播放设备。 |
3.1 |
|
获取可播放的音频数据。 |
3.1 |
|
开启或关闭美颜功能,并设置美颜效果参数。 |
3.1 |
|
获取当前网络链接状态。 |
3.1 |
|
设置视频暗光增强功能。 |
3.4 |
|
设置视频去噪场景功能。 |
3.4 |
|
设置音频降噪功能。 |
3.4 |
|
发送媒体扩展信息。 |
3.4 |
预览相关接口
API |
描述 |
支持的最低版本 |
开启本地视频预览。 |
3.0 |
|
关闭本地视频预览。 |
3.0 |
远端用户查询接口
API |
描述 |
支持的最低版本 |
获取远端在线用户列表。 |
3.0 |
|
查询远端用户状态。 |
3.0 |
|
查询用户是否在线。 |
3.0 |
其他接口
API |
描述 |
支持的最低版本 |
设置日志等级。 |
3.0 |
|
设置SDK日志文件保存路径。 |
3.0 |
|
查询SDK当前版本号。 |
3.0 |
|
根据错误码,获取错误码描述。 |
3.0 |
接口详情
-
create: 获取DingRtcEngine实例。
public DingRtcEngine create (Context context, String extras)
该方法为同步调用,提供一个SDK对象实例。
参数说明
参数
类型
描述
context
Context
Android上下文。
extras
String
用于接收来自客户灰度下发的参数,通过JSON配置SDK的特别功能,可以是空字符串。详情请参见官网
重要调用destroy 方法进行资源释放。
-
destroy: 销毁DingRtcEngine实例。
public abstract void destroy ()
调用该方法将会释放所有内部使用的资源, 当完成音视频通信之后都建议调用该方法释放实例.调用该方法后,你将不能再使用 DingRtcEngine 的其他方法和任何回调,如需要再次使用需要重新调用 getInstance 方法创建一个新的实例。
重要该方法为同步调用, 需要等待内部资源释放之后才能执行其他方法, 为避免主线程阻塞,建议开发者放在子线程调用该方法,但需要注意的是如需在销毁后再次创建 DingRtcEngine 实例,请开发者务必保证 destroy 方法执行结束后再创建实例。
为避免死锁,不建议在任何SDK的回调中调用本方法。
-
setRtcEngineEventListener: 设置Engine回调。
public abstract void setRtcEngineEventListener (DingRtcEngineEventListener listener)
DingRtcEngineEventListener类是SDK向应用回调事件的通知,应用开发者需要实现该接口类的方法来获取相关事件通知。默认所有接口都有空实现,开发者不需要实现所有方法,可根据自身业务来实现对应的事件方法。
参数说明
参数
类型
描述
listener
DingRtcEngineEventListener
用于接收来自engine的消息。
重要所有的回调方法都是SDK内部的线程,不可以做UI操作,有UI相关操作需要抛主线程操作。
不建议在回调方法中做耗时操作,如调用engine本身的destroy方法,这将有可能引起不必要的阻塞从而影响SDK的运行。
-
joinChannel: 加入频道。
public abstract int joinChannel (DingRtcAuthInfo authInfo, String userName)
该方法让用户加入频道,一个频道内可以加入多个用户进行互相通话。
参数说明
参数
类型
描述
authInfo
认证信息,从AppServer获取。
userName
String
任意用于显示的用户名称,不是UserID。
返回说明
0:成功;<0:失败。
重要异步接口。是否成功入会,通过 onJoinChannelResult 判断。
正常情况一个Appid对应一个App,只有同一个AppId的应用可进行互相童话,不同AppId和channelID不同都不能互通。
当入会成功后,会触发远端用户收到 onRemoteUserOnLineNotify 回调。
如果已在会中想重新入会,需要先调用 leaveChannel 离会,且确保 onLeaveChannelResult 回调收到后,再次调用进行入会。
用户加入频道后,默认订阅频道内所有其他用户的音视频流,默认推送音视频流到远端,因此将会产生计费,如果想要取消默认订阅可以joinChannel 前调用 subscribeAllRemoteAudioStreams 和 subscribeAllRemoteVideoStreams。
-
leaveChannel: 离开频道。
public abstract int leaveChannel ()
返回说明
- 0:成功;
- <0:失败。
重要失败原因错误码见回调函数:onLeaveChannelResult 。
如果调用了 leaveChannel 后立刻调用 destroy 方法,SDK将会无法触发 onLeaveChannelResult。
-
isInCall: 获取当前是否在频道中。
public abstract boolean isInCall ()
返回说明
- true:当前已经加入了频道;
- false:当前不在频道中。
重要该方法可在加入频道前或加入频道后调用。
-
publishLocalVideoStream: 是否推送本地视频流。
public abstract int publishLocalVideoStream (boolean enabled)
参数说明
参数
类型
描述
enabled
boolean
是否开启/关闭本地视频流推送。
true:开启视频流推送。
false:关闭视频流推送。
返回说明
- 0:设置成功;
- <0:设置失败,返回错误码。
重要SDK默认设置推送视频流,在加入频道前也可以调用此接口修改默认值,并在加入频道成功时生效。
-
publishLocalAudioStream: 是否推送音频流。
public abstract int publishLocalAudioStream (boolean enabled)
参数说明
参数
类型
描述
enabled
boolean
是否开启/关闭本地音频流推送。
true:开启音频流推送。
false:关闭音频流推送。
返回说明
- 0:设置成功;
- <0:设置失败,返回错误码。
重要SDK默认设置推送音频流,在加入频道前也可以调用此接口修改默认值,并在加入频道成功时生效。
-
isLocalVideoStreamPublished: 查询是否设置推送视频流。
public abstract boolean isLocalVideoStreamPublished ()
返回说明
- true: 已设置推送;
- false:未设置推送。
重要SDK默认设置推送视频流,如果需要取消推送视频流,可以通过publishLocalVideoStream方法设置为不推送。
-
isLocalAudioStreamPublished: 查询是否设置推送音频流。
public abstract boolean isLocalAudioStreamPublished ()
返回说明
- true: 已设置推送;
- false:未设置推送。
重要SDK默认设置推送音频流,如果需要取消推送音频流,可以通过publishLocalAudioStream方法设置为不推送。
-
setRemoteVideoStreamType: 设置订阅视频流分辨率规格。
public abstract int setRemoteVideoStreamType (String uid, DingRtcVideoStreamType streamType)
参数说明
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。
streamType
视频流的分辨率规格,详见DingRtcVideoStreamType。
返回说明
- 0:成功;
- 非0:失败。
-
setRemoteDefaultVideoStreamType: 设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。
public abstract int setRemoteDefaultVideoStreamType (DingRtcVideoStreamType streamType)
参数说明
参数
类型
描述
streamType
视频流的分辨率规格,详见DingRtcVideoStreamType。
返回说明
- 0:成功;
- 非0:失败。
-
subscribeAllRemoteAudioStreams: 停止/恢复订阅所有远端音频流,包含后入会成员的订阅。
public abstract int subscribeAllRemoteAudioStreams (boolean sub)
参数说明
参数
类型
描述
sub
boolean
true:订阅所有用户的音频流,后入会成员会自动订阅其音频。
false:停止订阅所有用户的音频流,后入会成员也不会自动订阅其音频。
返回说明
- 0:成功;
- 非0:失败。
重要入会前入会后均可以调用。
-
subscribeAllRemoteVideoStreams: 停止/恢复订阅所有远端视频流,包含后入会成员的订阅。
public abstract int subscribeAllRemoteVideoStreams (boolean sub)
参数说明
参数
类型
描述
sub
boolean
true:接收所有用户的视频流,后入会成员会自动订阅其视频。
false:停止允许接收所有用户的视频流,后入会成员也不会自动订阅其视频。
返回说明
- 0:成功;
- 入会前入会后均可以调用;
- 如果设置了 subscribeAllRemoteVideoStreams(false),会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过 com 来主动订阅某个人的远端视频流;
-
subscribeRemoteVideoStream: 停止/恢复订阅远端用户的视频流。
public abstract int subscribeRemoteVideoStream (String uid, DingRtcVideoTrack track, boolean sub)
参数说明
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。
track
视频流类型。
sub
boolean
true:接收指定用户的视频流。
false:停止接收指定用户的视频流。
返回说明
- 0:成功;
- 非0:失败。
重要入会前入会后均可以调用;如果设置了 subscribeAllRemoteVideoStreams(false),会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过 subscribeRemoteVideoStream 来主动订阅某个人的远端视频流;
-
setCameraCapturerConfiguration: 采集偏好设置。
public abstract int setCameraCapturerConfiguration (DingEngineCameraCapturerConfiguration cameraCapturerConfiguration)
参数说明
参数
类型
描述
cameraCapturerConfiguration
偏好设置
返回说明
- 0:成功;
- 非0:表示失败。
重要必须在打开摄像头之前设置,如startPreview之前设置。
-
createRenderSurfaceView: 创建视频显示的SurfaceView。
public abstract SurfaceView createRenderSurfaceView (Context context)
显示视频视图必须调用该方法,而不是直接调用SurfaceView。如果需要创建TextureView,则调用createRenderTextureView。 将返回值赋值view,调用setLocalViewConfig设置本地预览显示视图或者调用setRemoteViewConfig。 设置远程预览显示视图。
参数说明
参数
类型
描述
context
Context
活动上下文。
返回说明
SurfaceView类型的实例。
重要请在主线程调用该方法。
-
createRenderTextureView: 创建视频显示的TextureView。
public abstract TextureView createRenderTextureView (Context context)
显示视频视图必须调用该方法,而不是直接调用TextureView。如果需要创建SurfaceView,则调用createRenderSurfaceView。 将返回值赋值view,调用setLocalViewConfig设置本地预览显示视图或者调用setRemoteViewConfig 设置远程预览显示视图。
参数说明
参数
类型
描述
context
Context
活动上下文。
返回说明
TextureView类型的实例。
重要请在主线程调用该方法。
-
setLocalViewConfig: 设置本地预览显示视图。
public abstract int setLocalViewConfig (DingRtcVideoCanvas viewConfig, DingRtcVideoTrack track)
参数说明
参数
类型
描述
viewConfig
本地视频显示属性。
track
只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。
返回说明
- 0:成功;
- < 0:失败。
重要支持joinChannel之前和之后切换窗口。如果canvas或者view为null,则停止显示。 如果需要重新设置renderMode,请保持canvas中其他属性不变,仅修改 renderMode。 如果需要重新设置mirrorMode,请保持canvas中其他属性不变,仅修改 mirrorMode。
-
enableLocalVideo: 禁用或启用本地视频采集。
public abstract int enableLocalVideo (boolean enabled)
参数说明
参数
类型
描述
enabled
boolean
true:启用本地视频采集。
false:禁用本地视频采集。
返回说明
- 0:成功;
- < 0:失败。
重要默认为开启状态。
-
muteLocalCamera: 暂停/恢复本地视频流的发送。
public abstract int muteLocalCamera (boolean mute, DingRtcVideoTrack track)
参数说明
参数
类型
描述
mute
boolean
true:表示暂停视频流的发送。
false:表示恢复视频流的发送。
track
只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。
返回说明
- 0:成功;
- 非0:失败。
重要视频流暂停发送时,采集和编码模块仍然在工作。
-
snapshotVideo: 视频截图功能。
public abstract int snapshotVideo (String uid, DingRtcVideoTrack track, String path)
参数说明
参数
类型
描述
uid
String
用户ID,uid为""代表本地用户。
track
视频流类型,只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。
path
String
截图保存路径。
返回说明
- 0 :仅代表调用该接口成功,是否获取到截图画面,详细见com 。
- < 0 :失败。
重要视频截图功能为异步接口,通过监听onSnapshotComplete回调获取当前截图画面。
-
setVideoEncoderConfiguration: 设置相机流视频编码属性。
public abstract void setVideoEncoderConfiguration (DingRtcVideoEncoderConfiguration config)
该方法用于设置相机流视频编码属性对应的视频参数,如分辨率、帧率、码率、视频方向等所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节。
参数说明
参数
类型
描述
config
预定义的编码属性。
重要该方法在入会前和入会后都可以调用,如果每次入会只需要设置一次相机流视频编码属性,建议在入会前调用。
-
setRemoteViewConfig: 设置远端视频显示视图。
public abstract int setRemoteViewConfig (DingRtcVideoCanvas canvas, String uid, DingRtcVideoTrack track)
参数说明
参数
类型
描述
canvas
视频显示属性。
uid
String
用户ID,从Appserver分配的唯一标示符。
track
只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。
返回说明
- 0:成功;
- < 0:失败。
重要支持joinChannel之前和之后切换窗口。如果canvas或者view为null,则停止显示。 如果需要重新设置renderMode,请保持canvas中其他属性不变,仅修改 renderMode。 如果需要重新设置mirrorMode,请保持canvas中其他属性不变,仅修改 mirrorMode。
-
updateViewConfig: 更新本地或远端视图属性。
public abstract int updateViewConfig (DingRtcVideoCanvas canvas, String uid, DingRtcVideoTrack track)
参数说明
参数
类型
描述
canvas
视频显示属性。
uid
String
用户ID,从Appserver分配的唯一标示符。本地用户设置为""。
track
只支持DingRtcVideoTrackCamera和DingRtcVideoTrackScreen。
返回说明
- 0:成功;
- < 0:失败。
重要支持joinChannel之前和之后设置。设置view为需要更新的view, 目前支持更新mirrorMode, renderMode, rotationMode
-
switchCamera: 切换前后摄像头。
public abstract int switchCamera ()
返回说明
- 0:成功;
- 非0:失败。
重要只有iOS和android提供这个接口。
-
setCameraZoom: 设置摄像头缩放。
public abstract int setCameraZoom (float zoom)
参数说明
参数
类型
描述
zoom
float
缩放级别,范围从1到camera支持的最大zoom值。
返回说明
- 0:成功;
- 非0:失败。
-
setCameraFlash: 设置摄像头闪光灯开关。
public abstract int setCameraFlash (boolean flash)
参数说明
参数
类型
描述
flash
boolean
是否打开闪光灯。
返回说明
- 0:成功;
- 非0:失败。
-
isCameraFocusPointSupported: 摄像头是否支持手动聚焦。
public abstract boolean isCameraFocusPointSupported ()
返回说明
- YES:支持;
- NO:不支持。
-
setCameraFocusPoint: 设置摄像头手动聚焦点。
public abstract int setCameraFocusPoint (float x, float y)
参数说明
参数
类型
描述
point
聚焦点坐标,(相对坐标,取值范围0~1)。
返回说明
- 0:成功;
- 非0:失败。
-
setCameraExposurePoint: 设置摄像头曝光点。
public abstract int setCameraExposurePoint (float x, float y)
参数说明
参数
类型
描述
point
曝光点,(相对坐标,取值范围0~1)。
返回说明
- 0:成功;
- 非0:失败。
-
muteLocalMic: 停止/恢复本地音频数据发送。
public abstract int muteLocalMic (boolean mute, DingRtcMuteLocalAudioMode mode)
参数说明
参数
类型
描述
mute
boolean
true:表示静音本地音频,发送静音帧。
false:表示取消静音。
mode
静音模式,静音模式分三种,详见DingRtcMuteLocalAudioMode,默认模式为静音本地麦克风采集音频和所有外部输入音频。
返回说明
- 0:成功;
- 非0:失败。
重要静音是指音频流发送静音帧, 采集和编码模块仍然在工作。
-
enableSpeakerphone: 设置音频输出为听筒还是扬声器。
public abstract int enableSpeakerphone (boolean enable)
参数说明
参数
类型
描述
enable
boolean
true:扬声器模式(默认扬声器)。
false:听筒模式。
返回说明
- 0:成功;
- <0:失败。
重要DingRtcAudioScenario 为 DingRtcSceneMediaMode 或者 {DingRtcAudioScenario::DingRtcSceneMusicMode} 时只支持扬声器播放。
-
isSpeakerphoneEnabled: 获取当前音频输出为听筒还是扬声器。
public abstract boolean isSpeakerphoneEnabled ()
返回说明
- true: 扬声器模式;
- false:听筒模式。
-
getAudioDevices: 获取当前所有的音频设备。
public abstract List< DingRtcAudioDeviceInfo > getAudioDevices ()
返回说明
音频设备信息
-
setAudioRouteType: 设置音频路由设备。
public abstract boolean setAudioRouteType (DingRtcAudioRouteType route)
返回说明
- true: 设置成功
- false: 设置失败
重要此接口不能和 enableSpeakerphone混合使用,否则会有冲突,建议使用setAudioRouteType接口, 当前支持的音频路由类型可以通过getAudioDevices接口获取,音频路由改变后,会收到onAudioRouteChanged回调
-
setAudioProfile: 设置音频profile。
public abstract int setAudioProfile (DingRtcAudioProfile profile, DingRtcAudioScenario scenario)
参数说明
参数
类型
描述
profile
音频采集/编码模式参数。
scenario
音频场景模式参数。
返回说明
- 0:成功;
- 其他:失败。
重要只支持joinChannel前设置有效。
-
enableAudioVolumeIndication: 设置音量回调频率和平滑系数。
public abstract 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会分别通过onAudioVolumeonActiveSpeaker回调。
-
enableAudioFrameObserver: 订阅音频数据。
public abstract int enableAudioFrameObserver (boolean enable, int position)
参数说明
参数
类型
描述
enable
boolean
是否允许数据回调。
position
int
音频裸数据源类型,详见DintRtcAudioObservePosition。
返回说明
0:success。
-
enableAudioFrameObserver: 订阅音频数据。
public abstract int enableAudioFrameObserver (boolean enable, int position, DingRtcAudioFrameObserverConfig config)
参数说明
参数
类型
描述
enable
boolean
是否允许数据回调。
position
int
音频裸数据源类型,详见DintRtcAudioObservePosition。
config
音频裸数据源配置项,详见DingRtcAudioFrameObserverConfig。
返回说明
0:success。
-
joinGroup: 加入音频分组。如果分组当前不存在,则自动创建一个。
public abstract int joinGroup (String groupId, String usrData)
参数说明
参数
类型
描述
groupId
String
指定加入的音频分组。不可以是大厅HALL_ID,也不可以为空。
usrData
String
可以额外提供一个字符串,业务层自行解释。长度不超过64字节。
返回说明
int 如果返回0,结果将会通过com通知app。如果返回<0,则调用失败,不会有通知消息onAudioGroupJoinResult。
重要usrData暂时未支持。
-
leaveGroup: 离开音频分组。
public abstract int leaveGroup (String groupId)
参数说明
参数
类型
描述
groupId
String
要离开的音频分组。不可以是大厅HALL_ID,也不可以为空。
返回说明
int 如果返回0,结果将会通过com通知app。如果返回<0,则调用失败,不会有通知消息onAudioGroupLeaveResult。
重要如果离开了分组,那么没有权限再订阅该分组的音频,也没有权限向该分组mix音频流。
-
dismissGroup: 解散音频分组,所有成员被迫离开该音频分组。
public abstract int dismissGroup (String groupId)
参数说明
参数
类型
描述
groupId
String
要解散的音频分组。不可以是大厅HALL_ID,也不可以为空。
返回说明
int 如果返回0,结果将会通过com通知app。如果返回<0,则调用失败,不会有通知消息OnAudioGroupDismissResult。
-
mixAudioToGroup: 本地音频合并进分组音频或者大厅音频中。
public abstract int mixAudioToGroup (boolean mix, String groupId)
参数说明
参数
类型
描述
mix
boolean
true表示合并,false表示不合并。
groupId
String
目标分组。如果是HALL_ID,则表示目标为大厅的音频。不可以为空。
返回说明
int 如果返回0,结果将会通过com通知app。如果返回<0,则调用失败,不会有通知消息OnAudioGroupMixResult。
重要前提条件:1,已经做了音频的publish; 2,权限要求:用户需要在目标分组或者大厅中。
-
getCurrentSubscribedAudio: 查询当前订阅的音频的类型,可能是大厅音频,也可能是某个分组的音频。
public abstract String getCurrentSubscribedAudio ()
返回说明
groupId 如果空,表示无订阅,如果是com,表示大厅音频,否则,返回分组音频对应的分组ID。
-
getAudioMixingManager: 获取伴奏混音管理类。
public abstract IAudioMixingManager getAudioMixingManager ()
返回说明
- null:失败;
- 非null:成功。
-
createAudioMixing: 创建伴奏混音实例。
public int createAudioMixing (int id, String filePath)
参数说明
参数
类型
描述
id
int
伴奏文件id,用户分配。
filePath
String
伴奏文件路径。
返回说明
- 0:成功;
- 非0:失败。
-
destroyAudioMixing: 销毁伴奏混音实例。
public int destroyAudioMixing (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
- 0:成功;
- 非0:失败。
-
startAudioMixing: 开始伴奏混音。
public int startAudioMixing (int id, DingRtcEngine.DingRtcAudioMixingConfig config)
参数说明
参数
类型
描述
id
int
伴奏文件id。
config
DingRtcEngine.DingRtcAudioMixingConfig
伴奏文件配置,参考DingRtcAudioMixingConfig。
返回说明
- 0:成功;
- 非0:失败。
重要可通过OnAudioMixingStateChanged监听播放状态。
-
stopAudioMixing: 停止伴奏混音。
public int stopAudioMixing (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
- 0:成功;
- 非0:失败。
-
pauseAudioMixing: 暂停伴奏混音。
public int pauseAudioMixing (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
- 0:成功;
- 非0:失败。
-
resumeAudioMixing: 暂停后恢复伴奏混音。
public int resumeAudioMixing (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
- 0:成功;
- 非0:失败。
-
getAudioMixingDuration: 获取伴奏时长。
public long getAudioMixingDuration (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
伴奏时长,单位ms。返回值为1时,说明获取时长失败。
-
getAudioMixingCurrentPosition: 获取当前伴奏播放时长。
public long getAudioMixingCurrentPosition (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
当前伴奏播放时长,单位ms。返回值为1时,说明获取时长失败。
-
setAudioMixingPosition: 设置伴奏播放位置。
public int setAudioMixingPosition (int id, long position)
参数说明
参数
类型
描述
id
int
伴奏文件id。
position
long
设置伴奏播放位置,单位ms。
返回说明
- 0:成功;
- 非0:失败。
-
setAudioMixingVolume: 设置伴奏音量。
public int setAudioMixingVolume (int id, int volume)
参数说明
参数
类型
描述
id
int
伴奏文件id。
volume
int
伴奏音量,取值[0,100]。
返回说明
- 0:成功;
- 非0:失败。
-
getAudioMixingVolume: 获取伴奏音量。
public int getAudioMixingVolume (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
伴奏音量, < 0 代表获取失败。
-
setAudioMixingPublishVolume: 设置伴奏推流音量。
public int setAudioMixingPublishVolume (int id, int volume)
参数说明
参数
类型
描述
id
int
伴奏文件id。
volume
int
伴奏推流音量,取值[0,100]。
返回说明
- 0:成功;
- 非0:失败。
-
getAudioMixingPublishVolume: 获取伴奏推流音量。
public int getAudioMixingPublishVolume (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
伴奏推流音量, < 0 代表获取失败。
-
setAudioMixingPlayoutVolume: 设置伴奏播放音量。
public int setAudioMixingPlayoutVolume (int id, int volume)
参数说明
参数
类型
描述
id
int
伴奏文件id。
volume
int
伴奏播放音量,取值[0,100]。
返回说明
- 0:成功;
- 非0:失败。
-
getAudioMixingPlayoutVolume: 获取伴奏播放音量。
public int getAudioMixingPlayoutVolume (int id)
参数说明
参数
类型
描述
id
int
伴奏文件id。
返回说明
伴奏播放音量, < 0 代表获取失败。
-
registerAudioFrameObserver: 注册音频数据输出。
public abstract void registerAudioFrameObserver (DingRtcAudioFrameObserver observer)
参数说明
参数
类型
描述
observer
DingRtcAudioFrameObserver
音频数据回调接收对象。
重要需要调用enableAudioFrameObserver开启具体DingRtcAudioSource的回调。
-
enableAudioFrameObserver: 设置音频回调参数。
public abstract int enableAudioFrameObserver (boolean enable, DingRtcAudioSource audioSource)
参数说明
参数
类型
描述
enable
boolean
是否允许数据回调。
audioSource
回调数据源类型。
返回说明
0:success; -others:fail。
-
startRecordingDeviceTest: 开始音频设备录音测试。
public abstract int startRecordingDeviceTest ()
-
stopRecordingDeviceTest: 停止音频设备录音测试。
public abstract int stopRecordingDeviceTest ()
-
startPlayoutDeviceTest: 开始音频设备播放测试。
public abstract int startPlayoutDeviceTest (String wavPath)
参数说明
参数
类型
描述
wavPath
String
wav文件路径。
-
stopPlayoutDeviceTest: 停止音频设备播放测试。
public abstract int stopPlayoutDeviceTest ()
-
setPlayoutVolume: 设置音频播放音量,音量范围[0,100]。
public abstract int setPlayoutVolume (int volume)
参数说明
参数
类型
描述
volume
int
音量值。
返回说明
- 0:成功;
- 非0:失败。
-
getPlayoutVolume: 获取音频播放音量。
public abstract int getPlayoutVolume ()
返回说明
音量。
-
setRecordingVolume: 设置音频采集音量,音量范围[0,100]。
public abstract int setRecordingVolume (int volume)
参数说明
参数
类型
描述
volume
int
音量值。
返回说明
- 0:成功;
- 非0:失败。
-
getRecordingVolume: 获取音频采集音量。
public abstract int getRecordingVolume ()
返回说明
音量。
-
setParameters: 设置算法或者其他私有参数。
public abstract int setParameters (String params)
参数说明
参数
类型
描述
params
String
用于接收来自客户设置的参数,通过JSON配置SDK的特别功能。
返回说明
- 0:成功;
- 其他:失败。
-
registerVideoSampleObserver: 注册视频数据输出对象
public abstract void registerVideoSampleObserver (DingRtcVideoObserver observer)
参数说明
参数
类型
描述
observer
DingRtcVideoObserver
视频数据输出对象。
-
unRegisterVideoSampleObserver: 取消视频数据输出对象。
public abstract void unRegisterVideoSampleObserver ()
-
enableVideoSampleObserver: 设置视频帧数据观察开关。
public abstract int enableVideoSampleObserver (boolean enable, int position)
参数说明
参数
类型
描述
enable
boolean
是否允许数据回调。
position
int
视频数据类型,详见DingRtcVideoObservePosition。
返回说明
0:success; -others:fail。
-
setExternalVideoSource: 启用外部视频输入源。
public abstract int setExternalVideoSource (boolean enable, boolean useTexture, DingRtcVideoTrack streamType, DingRtcRenderMode renderMode)
参数说明
参数
类型
描述
enable
boolean
true:开启。
false:关闭。
useTexture
boolean
是否输入纹理数据。
true:纹理数据。
false:非纹理数据。
streamType
流类型
DingRtcVideoTrackCamera外部输入视频数据走相机流通道,如果当前相机采集打开中,调用该接口设置enable为true,sdk会替换掉相机采集。
DingRtcVideoTrackScreen外部输入视频数据走屏幕流通道,如果当前屏幕共享采集打开中,调用该接口设置enable为true,sdk会替换掉屏幕共享采集。
renderMode
处理模式,外部输入视频源宽高比和推流profile不一致时,会按照对应的rendermode做对应处理。
DingRtcRenderModeAuto自动(默认)如果外部输入的视频宽高比和推流设置的宽高比不一致时,维持外部输入的视频宽高比,等比例缩放宽高到推流设置的宽高范围内,注意此模式下为了保证原始视频的比例和内容完整性,会导致实际推流的分辨率和设置的不一致。
DingRtcRenderModeStretch拉伸平铺,如果外部输入的视频宽高比和推流设置的宽高比不一致时,将输入视频拉伸到推流设置的比例,画面会变形。
DingRtcRenderModeFill填充黑边,如果外部输入的视频宽高比和推流设置的宽高比不一致时,将输入视频上下或者左右填充黑边。
DingRtcRenderModeCrop裁剪,如果外部输入的视频宽高比和推流设置的宽高比不一致时,将输入视频宽或者高进行裁剪,画面内容会丢失。
返回说明
- 0:成功;
- 非0:失败。
-
pushExternalVideoFrame: 输入视频数据。
public abstract int pushExternalVideoFrame (DingRtcRawDataFrame rawDataFrame, DingRtcVideoTrack streamType)
参数说明
参数
类型
描述
rawDataFrame
帧数据,详见DingRtcRawDataFrame
streamType
DingRtcVideoTrackCamera外部输入视频数据走相机流通道。
DingRtcVideoTrackScreen外部输入视频数据走屏幕流通道。
返回说明
- 0:成功
- 非0:失败
-
setExternalAudioSource: 设置是否启用外部音频输入源。
public abstract int setExternalAudioSource (boolean enable, int sampleRate, int channels)
参数说明
参数
类型
描述
enable
boolean
true开启。
false关闭。
sampleRate
int
采样率16k48k...
channels
int
声道数1:单声道;2:双声道。
返回说明
- >=0:成功;
- <0:失败。
-
pushExternalAudioFrame: 输入外部音频数据推流到远端。
public abstract int pushExternalAudioFrame (DingRtcAudioFrame frame)
参数说明
参数
类型
描述
frame
帧数据,详见DingRtcAudioFrame
返回说明
- <0:表示失败;
- 0:表示成功。
- 返回值为com时,需要在间隔投递数据时间长度后再次重试投递。
重要为了保证语音连续性,sdk内部会有buffer缓存送进来的音频数据,以每次送10ms数据为例,如果返回ERR_SDK_AUDIO_INPUT_BUFFER_FULL时,说明内部缓冲区已满,建议等待20ms后再重新送当前数据帧。
-
setExternalAudioRender: 设置是否启用外部音频渲染源
public abstract int setExternalAudioRender (boolean enable, int sampleRate, int channels)
参数说明
参数
类型
描述
enable
boolean
true开启,false关闭
sampleRate
int
采样率16k48k...
channels
int
声道数1:单声道;2:双声道
返回说明
- >=0: 成功
- <0: 失败
-
pushExternalAudioRenderFrame: 输入外部音频数据渲染到本地。
public abstract int pushExternalAudioRenderFrame (DingRtcAudioFrame frame)
参数说明
参数
类型
描述
frame
帧数据,详见DingRtcAudioFrame。
返回说明
- <0: 表示失败;
- 0: 表示成功。
- 返回值为com时,需要在间隔投递数据时间长度后再次重试投递
重要为了保证语音连续性,sdk内部会有buffer缓存送进来的音频数据,以每次送10ms数据为例,如果返回ERR_SDK_AUDIO_INPUT_BUFFER_FULL时,说明内部缓冲区已满,建议等待20ms后再重新送当前数据帧。
-
enableCustomAudioCapture: 开启自定义音频采集,开始后,SDK内部不在操作音频采集设备。
public abstract int enableCustomAudioCapture (boolean enable)
参数说明
参数
类型
描述
enable
boolean
是否开启。
返回说明
- 0: 成功。
- <0: 失败。
重要使用自定义采集时,不能在使用外部音频输入源setExternalAudioSource相关功能。
-
sendCustomAudioCaptureFrame: 向SDK投送自己采集的音频数据。
public abstract int sendCustomAudioCaptureFrame (DingRtcAudioFrame frame)
参数说明
参数
类型
描述
frame
音频帧,详见DingRtcAudioFrame。
返回说明
- 0: 成功。
- <0: 失败。
重要音频帧数据只支持16位PCM格式, 10ms帧长, 采样率支持48000/44100/32000/16000, 声道数支持单声道/双声道。
-
enableCustomAudioRender: 开启自定义音频播放,开始后,SDK内部不在操作音频播放设备。
public abstract int enableCustomAudioRender (boolean enable)
参数说明
参数
类型
描述
enable
boolean
是否开启。
返回说明
- 0: 成功。
- <0: 失败。
重要使用自定义播放时,不能在使用外部音频渲染源setExternalAudioRender相关功能。
-
getCustomAudioRenderFrame: 获取可播放的音频数据。
public abstract int getCustomAudioRenderFrame (DingRtcAudioFrame frame)
参数说明
参数
类型
描述
frame
音频帧,详见DingRtcAudioFrame。
返回说明
- 0: 成功。
- <0: 失败。
重要音频帧buffer需要使用者申请释放,音频帧数据只支持16位PCM格式,10ms帧长,采样率支持48000/44100/32000/16000,声道数支持单声道/双声道。
-
enableBeautyFace: 开启或关闭美颜功能,并设置美颜效果参数。
public abstract int enableBeautyFace (boolean enable, DingRtcBeautyFaceOptions options)
开启或关闭美颜功能,并设置美颜效果参数。
参数说明
参数
类型
描述
enable
boolean
true:开启美颜功能。
false:关闭美颜功能。
options
DingRtcBeautyFaceOptions
美颜效果参数,详细定义见DingRtcBeautyFaceOptions。
返回说明
- 0:成功;
- < 0:失败。
-
getCurrentConnectionStatus: 获取当前网络链接状态。
public abstract DingRtcConnectionStatus getCurrentConnectionStatus ()
返回说明
当前链接状态,参考com。
重要网络链接状态发生变化时,SDK会通过onConnectionStatusChanged回调通知。
入会前调用此接口,均返回状态 DingRtcConnectionStatusDisconnected。
-
setVideoEnhance: 设置视频暗光增强功能。
public abstract int setVideoEnhance (DingRtcEngineVideoEnhanceOptions options)
参数说明
参数
类型
描述
options
DingRtcEngineVideoEnhanceOptions
视频暗光增强参数。
返回说明
- 0:成功;
- 非0:失败。
-
setVideoDenoise: 设置视频去噪场景功能。
public abstract int setVideoDenoise (DingRtcEngineVideoDenoiseOptions options)
参数说明
参数
类型
描述
options
DingRtcEngineVideoDenoiseOptions
视频去噪参数。
返回说明
- 0:成功;
- 非0:失败。
-
setAudioDenoise: 设置音频降噪功能。
public abstract int setAudioDenoise (DingRtcEngineAudioDenoiseOptions options)
参数说明
参数
类型
描述
options
DingRtcEngineAudioDenoiseOptions
音频降噪参数。
返回说明
- 0:成功;
- 非0:失败。
-
sendMediaExtensionMsg: 发送媒体扩展信息。
public abstract int sendMediaExtensionMsg (byte[] message, int repeatCount)
- SDK提供了发送和接收媒体扩展信息的功能,接收端参考 onMediaExtensionMsgReceived,使用场景:
- 使用媒体扩展信息传递时间戳,计算端到端的网络延迟,或者跟自身其他业务做数据同步;
- 使用媒体扩展信息传递位控制信息。目前可以传递8 Byte数据,即64位,每一位或几位可以表示控制信息,用于自身业务上的指令传输。
参数说明
参数
类型
描述
message
byte[]
媒体扩展信息,长度限制为最大8字节。
repeatCount
int
重复次数,代表消息冗余度,用于防止网络丢包导致的消息丢失。
返回说明
- 0: 成功
- <0: 失败。 ERR_INNER(-1): SDK内部错误,可能的情况为SDK未初始化或者SDK销毁后调用。
重要使用媒体扩展信息时需要复用音视频数据通道,因此必须控制自定义消息的发送频率和消息数据长度,使用限制如下:每秒最多发送30条消息。为了不影响媒体数据的传输质量,自定义消息体长度限制为8 Byte,可以用来传输时间戳,位控制信息等,sendMediaExtensionMsg函数中repeatCount参数为自定义消息冗余度,若大于1,则会发送多次,防止网络丢包导致的消息丢失,此时房间里的其他人也会收到多次相同的消息,需要去重新发送的自定义消息,在旁路直播时,房间里的订阅者也一样会收。到目前H5端不支持发送和接收媒体扩展信息。
-
startPreview: 开启本地视频预览。
public abstract int startPreview ()
返回说明
0:成功;< 0:失败。
重要如果没有调用setLocalViewConfig设置显示的view,则无法预览,但不影响推流。
可以在joinChannel之前就开启预览会自动打开摄像头。
-
stopPreview: 关闭本地视频预览。
public abstract int stopPreview ()
返回说明
0:成功; < 0:失败。
重要leaveChannel会自动停止本地预览;如果没有在推相机流,则会自动关闭摄像头。
-
getOnlineRemoteUsers: 获取远端在线用户列表。
public abstract String[] getOnlineRemoteUsers ()
返回说明
当前频道内所有在线用户userid列表。
重要若当前频道ChannelProfile设置为 DingRtcSdkInteractiveLive 模式,只有设置角色为 DingRtcSdkInteractive 的用户为在线用户,本方法不返回角色为 DingRtcSdkLive 的用户。
-
getUserInfo: 查询远端用户状态。
public abstract DingRtcRemoteUserInfo getUserInfo (String uid)
通过 uid 查询指定远端用户的状态信息。
参数说明
参数
类型
描述
uid
String
用户ID。从Appserver分配的唯一标示符。
返回说明
返回一个远端用户对象。详见com
-
isUserOnline: 查询用户是否在线。
public abstract boolean isUserOnline (String uid)
参数说明
参数
类型
描述
uid
String
用户ID,从Appserver分配的唯一标示符。不可为NULL。
返回说明
- true:用户在线;
- false:用户不在线。
重要根据特定的UserID,查询该用户是否在线。
-
setLogLevel: 设置日志等级。
public void setLogLevel (DingRtcLogLevel logLevel)
参数说明
参数
类型
描述
logLevel
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。
返回说明
错误码描述字符串。
重要在任何时刻都可以调用。