NERtc Android SDK V5.6.30
|
Public 成员函数 | |
abstract String | getChannelName () |
abstract void | setChannelCallback (NERtcChannelCallback channelCallback) |
abstract void | setChannelCallbackHandler (Handler callbackHandler) |
abstract void | setStatsObserver (NERtcStatsObserver statsObserver) |
abstract int | setChannelProfile (int channelProfile) |
abstract int | joinChannel (String token) |
abstract int | joinChannel (String token, long userId) |
abstract int | joinChannel (String token, long userId, NERtcJoinChannelOptions channelOptions) |
abstract int | leaveChannel () |
abstract int | updatePermissionKey (String key) |
abstract int | enableLocalAudio (boolean enable) |
abstract int | enableMediaPub (int mediaType, boolean enable) |
abstract int | muteLocalAudioStream (boolean mute) |
abstract int | subscribeRemoteAudioStream (long uid, boolean subscribe) |
abstract int | subscribeAllRemoteAudioStreams (boolean subscribe) |
abstract int | setCameraCaptureConfig (NERtcCameraCaptureConfig captureConfig) |
abstract int | setCameraCaptureConfig (NERtcCameraCaptureConfig captureConfig, NERtcVideoStreamType streamType) |
abstract int | setLocalVideoConfig (NERtcVideoConfig videoConfig) |
abstract int | setLocalVideoConfig (NERtcVideoConfig videoConfig, NERtcVideoStreamType streamType) |
abstract int | enableDualStreamMode (boolean enable) |
abstract int | setupLocalVideoCanvas (IVideoRender render) |
abstract int | getFeatureSupportedType (NERtcFeatureType featureType) |
abstract int | setupRemoteVideoCanvas (IVideoRender render, long uid) |
abstract int | enableLocalVideo (boolean enable) |
abstract int | enableLocalVideo (NERtcVideoStreamType streamType, boolean enable) |
abstract int | muteLocalVideoStream (boolean mute) |
abstract int | muteLocalVideoStream (boolean mute, NERtcVideoStreamType streamType) |
abstract int | setupLocalSubStreamVideoCanvas (IVideoRender render) |
abstract int | setupRemoteSubStreamVideoCanvas (IVideoRender render, long uid) |
abstract int | setLocalExternalVideoRenderer (NERtcVideoStreamType streamType, NERtcExternalVideoRenderer renderer) |
abstract int | setRemoteExternalVideoRenderer (NERtcVideoStreamType streamType, long uid, NERtcExternalVideoRenderer renderer) |
abstract int | switchCamera () |
abstract int | switchCameraWithPosition (int cameraPos) |
abstract int | startScreenCapture (NERtcScreenConfig screenConfig, Intent mediaProjectionPermissionResultData, MediaProjection.Callback mediaProjectionCallback) |
abstract void | stopScreenCapture () |
abstract int | enableLoopbackRecording (boolean enable, Intent mediaProjectionResultIntent, MediaProjection.Callback callback) |
abstract int | adjustLoopBackRecordingSignalVolume (int volume) |
abstract int | subscribeRemoteVideoStream (long uid, NERtcRemoteVideoStreamType streamType, boolean subscribe) |
abstract int | subscribeRemoteSubStreamVideo (long uid, boolean subscribe) |
abstract int | setExternalVideoSource (boolean enable) |
abstract int | setExternalVideoSource (NERtcVideoStreamType streamType, boolean enable) |
abstract boolean | pushExternalVideoFrame (NERtcVideoFrame frame) |
abstract boolean | pushExternalVideoFrame (NERtcVideoStreamType streamType, NERtcVideoFrame frame) |
abstract int | setClientRole (int role) |
abstract int | getConnectionState () |
abstract int | addLiveStreamTask (NERtcLiveStreamTaskInfo taskInfo, AddLiveTaskCallback addLiveTaskCallback) |
abstract int | updateLiveStreamTask (NERtcLiveStreamTaskInfo taskInfo, UpdateLiveTaskCallback updateLiveTaskCallback) |
abstract int | removeLiveStreamTask (String taskId, DeleteLiveTaskCallback deleteLiveTaskCallback) |
abstract int | sendSEIMsg (String seiMsg, NERtcVideoStreamType streamType) |
abstract int | sendSEIMsg (String seiMsg) |
abstract int | takeLocalSnapshot (NERtcVideoStreamType streamType, NERtcTakeSnapshotCallback callback) |
abstract int | takeRemoteSnapshot (long uid, NERtcVideoStreamType streamType, NERtcTakeSnapshotCallback callback) |
abstract int | setLocalMediaPriority (int priority, boolean isPreemptive) |
abstract int | startChannelMediaRelay (NERtcMediaRelayParam.ChannelMediaRelayConfiguration config) |
abstract int | updateChannelMediaRelay (NERtcMediaRelayParam.ChannelMediaRelayConfiguration config) |
abstract int | stopChannelMediaRelay () |
abstract int | enableAudioVolumeIndication (boolean enable, int interval, boolean enableVad) |
abstract int | adjustUserPlaybackSignalVolume (long uid, int volume) |
abstract int | adjustChannelPlaybackSignalVolume (int volume) |
abstract int | setLocalPublishFallbackOption (int option) |
abstract int | setRemoteSubscribeFallbackOption (int option) |
abstract int | enableEncryption (boolean enable, NERtcEncryptionConfig config) |
abstract int | setRemoteHighPriorityAudioStream (boolean enabled, long uid) |
abstract int | setAudioSubscribeOnlyBy (long[] uidArray) |
abstract int | enableLocalSubStreamAudio (boolean enable) |
abstract int | muteLocalSubStreamAudio (boolean mute) |
abstract int | subscribeRemoteSubStreamAudio (long uid, boolean subscribe) |
abstract int | enableLocalData (boolean enabled) |
abstract int | subscribeRemoteData (boolean subscribe, long userID) |
abstract int | sendData (NERtcDataExternalFrame frame) |
abstract int | reportCustomEvent (String eventName, String customIdentify, HashMap< String, Object > param) |
abstract void | release () |
abstract int | setAudioRecvRange (int audible_distance, int conversational_distance, NERtcDistanceRolloffModel roll_off) |
abstract int | updateSelfPosition (NERtcPositionInfo info) |
abstract int | enableSpatializerRoomEffects (boolean enable) |
abstract int | setSpatializerRoomProperty (NERtcSpatializerRoomProperty room_property) |
abstract int | setSpatializerRenderMode (NERtcSpatializerRenderMode mode) |
abstract int | enableSpatializer (boolean enable, boolean applyToTeam) |
abstract int | initSpatializer () |
abstract int | setRangeAudioMode (NERtcRangeAudioMode mode) |
abstract int | setRangeAudioTeamID (int teamId) |
abstract int | setSubscribeAudioBlocklist (long[] uidArray, NERtcAudioStreamType streamType) |
abstract int | setSubscribeAudioAllowlist (long[] uidArray) |
NERtcChannel 类在指定房间中实现实时音视频功能。通过创建多个 NERtcChannel 对象,用户可以同时加入多个房间。
|
abstract |
添加房间内推流任务。 通过此接口可以实现增加一路旁路推流任务;若需推送多路流,则需多次调用该方法。
NERtcEx#setChannelProfile()
接口设置房间模式为直播模式。 参数名称 | 类型 | 描述 |
---|---|---|
taskInfo | live.NERtcLiveStreamTaskInfo | 推流任务信息。 |
addLiveTaskCallback | live.AddLiveTaskCallback | 操作结果回调,方法调用成功后会触发对应的 AddLiveTaskCallback#onAddLiveStreamTask() 回调。 |
AddLiveTaskCallback#onAddLiveStreamTask()
:推流任务已成功删除回调。 NERtcChannelCallback#onLiveStreamState()
:推流任务状态已改变回调。
|
abstract |
调节本地播放的指定房间的所有远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定房间内的所有远端用户在本地播放的混音音量。
NERtcChannel#leaveChannel()
后失效,但在本次通话过程中有效 参数名称 | 类型 | 描述 |
---|---|---|
volume | int | 播放音量,取值范围为 [0,400]。
|
|
abstract |
调整共享音频音量。
volume | 采集信号量。该参数的取值范围为 0 ~ 100。 |
|
abstract |
调节本地播放的指定远端用户的信号音量。
通过此接口可以实现在通话过程中随时调节指定远端用户在本地播放的混音音量。
NERtcChannel#leaveChannel()
后失效,但在本次通话过程中有效,比如指定远端用户中途退出房间,则再次加入此房间时仍旧维持该设置。参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 远端用户 ID。 |
volume | int | 播放音量,取值范围为 [0,100]。
|
|
abstract |
启用说话者音量提示。
该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。
启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 onRemoteAudioVolumeIndication 回调。
{
enable | 是否启用说话者音量提示。
|
interval | 指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。 |
enableVad | 是否启用本地采集人声监测
|
0
方法调用成功,其他失败。
|
abstract |
设置是否开启视频大小流模式。
通过本接口可以实现设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
参数名称 | 类型 | 描述 |
---|---|---|
enable | boolean | 是否开启双流模式:
|
|
abstract |
开启或关闭媒体流加密。
enable | 是否开启媒体流加密。
|
config | 媒体流加密方案。详细信息请参考 NERtcEncryptionConfig。 |
0
方法调用成功,其他调用失败
|
abstract |
开启或关闭本地音频的采集和发送。
通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。
NERtcChannel#leaveChannel()
后仍然有效。NERtcEx#startAudioMixing()
方法播放音乐文件。参数名称 | 类型 | 描述 |
---|---|---|
enable | boolean | 是否启用本地音频的采集和发送:
|
NERtcChannelCallback#onUserAudioStart()
回调。NERtcChannelCallback#onUserAudioStop()
回调。 NERtcChannel#muteLocalAudioStream()
:两者的差异在于,enableLocalAudio 用于开启本地语音采集及处理,而 muteLocalAudioStream 用于停止或继续发送本地音频流。
|
abstract |
开启或关闭本地数据通道。
[in] | enabled | 是否启用本地数据通道:
|
|
abstract |
开启或关闭音频辅流。
开启时远端会收到 NERtcCallbackEx#onUserSubStreamAudioStart(long)
,关闭时远端会收到NERtcCallbackEx#onUserSubStreamAudioStop(long)
enable | 是否开启音频辅流。
|
|
abstract |
开启或关闭本地视频的采集与发送。
通过本接口可以实现开启或关闭本地视频,不影响接收远端视频。
NERtcChannel#leaveChannel()
后仍然有效。参数名称 | 类型 | 描述 |
---|---|---|
enable | boolean | 是否开启本地视频采集与发送:
|
NERtcChannelCallback#onUserVideoStart()
回调。NERtcChannelCallback#onUserVideoStop()
回调。 NERtcChannel#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)
方法。
|
abstract |
开启或关闭本地视频的采集与发送。
通过主流或辅流视频通道进行本地视频流的采集与发送。
NERtcChannel#leaveChannel()
后仍然有效。参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
enable | boolean | 是否开启本地视频采集与发送:
|
AbsNERtcCallbackEx#onUserVideoStart()
回调。AbsNERtcCallbackEx#onUserVideoStop()
回调。NERtcCallbackEx#onUserSubStreamVideoStart()
回调。NERtcCallbackEx#onUserSubStreamVideoStop()
回调。
|
abstract |
开启或关闭音频共享。
enable | 是否开启音频共享。
|
mediaProjectionResultIntent | Android 的系统权限请求 Intent,在请求权限时返回。 |
callback | 音频共享状态回调,用于监听音频共享任务的结束通知。 |
|
abstract |
开启或关闭本地媒体流(主流)的发送。
该方法用于开始或停止向网络发送本地音频或视频数据。
该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。
AbsNERtcCallbackEx#onUserAudioStart()
(开启发送音频)或 AbsNERtcCallbackEx#onUserAudioStop()
(停止发送音频)的回调。 NERtcChannel#muteLocalAudioStream()
:enable | 是否发布本地媒体流。
|
mediaType | 媒体发布类型,暂时仅支持音频。 |
|
abstract |
开启或关闭空间音效
enabled | 是否打开 3D 音效算法功能,默认为关闭状态。 |
apply_to_team | 是否仅本小队开启 3D 音效。true: 仅仅和接收端同一个小队的人有 3D 音效;false: 接收到所有的语音都有 3d 音效
|
|
abstract |
开启或关闭空间音效的房间混响效果
EnableSpatializer()
接口启用空间音效,再调用本接口。 enable | 混响效果开关,默认为关闭 |
|
abstract |
获取当前房间名称。
|
abstract |
获取当前房间连接状态。
NERtcConstants.ConnectionState
。
|
abstract |
初始化引擎 3D 音效算法
|
abstract |
加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
NERtcChannelCallback#onJoinChannel()
回调方法中返回;App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。NERtc#setParameters()
方法实现。参数名称 | 类型 | 描述 |
---|---|---|
token | String | 安全认证签名(NERTC Token),可以设置为:
|
NERtcChannel#leaveChannel()
方法离开房间。NERtcEx#switchChannel()
接口切换房间。 NERtcChannelCallback#onJoinChannel()
回调,远端会触发 NERtcChannelCallback#onUserJoined()
回调。
|
abstract |
加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
NERtcChannelCallback#onJoinChannel()
回调方法中返回;App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。NERtc#setParameters()
方法实现。参数名称 | 类型 | 描述 |
---|---|---|
token | String | 安全认证签名(NERTC Token),可以设置为:
|
NERtcChannel#leaveChannel()
方法离开房间。NERtcEx#switchChannel()
接口切换房间。 NERtcChannelCallback#onJoinChannel()
回调,远端会触发 NERtcChannelCallback#onUserJoined()
回调。
|
abstract |
加入音视频房间。
加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。
token | 安全认证签名(NERTC Token)。可设置为:
|
0
方法调用成功,其他失败
|
abstract |
离开音视频房间。
通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
NERtcChannelCallback#onLeaveChannel()
回调,远端会触发 NERtcChannelCallback#onUserLeave()
回调。
|
abstract |
开启或关闭本地音频主流的发送。
该方法用于向网络发送或取消发送本地音频数据,不影响本地音频的采集状态,也不影响接收或播放远端音频流。
NERtcChannel#leaveChannel()
后恢复至默认(非静音)。 参数名称 | 类型 | 描述 |
---|---|---|
mute | boolean | 是否关闭本地音频的发送:
|
NERtcChannelCallback#onUserAudioMute()
回调。 NERtcEx#enableMediaPub()
:
|
abstract |
静音或解除静音本地上行的音频辅流。
mute | 是否静音本地音频辅流发送。
|
|
abstract |
取消或恢复发布本端视频主流。
调用该方法取消发布本地视频主流后,SDK 不再发送本地视频主流。
NERtcChannel#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)
(true) 接口开启本地视频采集并发送后调用该方法。 NERtcChannel#leaveChannel()
后设置失效,将恢复至默认,即默认发布本地视频流。NERtcChannel#muteLocalVideoStream(boolean mute, NERtcVideoStreamType streamType)
方法。NERtcChannel#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)
(false) 的区别在于,后者会关闭本地摄像头设备,该方法不禁用摄像头,不会影响本地视频流采集且响应速度更快。 参数名称 | 类型 | 描述 |
---|---|---|
mute | boolean | 是否取消发布本地视频流:
|
NERtcChannelCallback#onUserVideoMute(long uid, boolean muted)
回调,通知有用户暂停或恢复发送视频主流。
|
abstract |
取消或恢复发布本地视频。
调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。
NERtc#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)
(true) 接口开启本地视频采集并发送后调用该方法。 NERtc#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)
(false) 的区别在于,后者会关闭本地摄像头设备,该方法不禁用摄像头,不会影响本地视频流采集且响应速度更快。 参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
muted | boolean | 是否取消发布本地视频流:
|
NERtcCallbackEx.onUserVideoMute()
回调。
|
abstract |
推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。 请确保在您调用本方法前已调用 setExternalVideoSource,并将参数设为 true,否则调用本方法后会一直报错。
frame | 视频帧的数据信息。详细信息请参考 video.NERtcVideoFrame 。 |
|
abstract |
销毁 NERtcChannel 实例,释放资源。
|
abstract |
删除房间内指定推流任务。
NERtcChannel#addLiveStreamTask()
方法添加推流任务。 参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 推流任务 ID。 |
deleteLiveTaskCallback | live.DeleteLiveTaskCallback | 操作结果回调,方法调用成功后会触发对应的 DeleteLiveTaskCallback#onDeleteLiveStreamTask() 回调。 |
DeleteLiveTaskCallback#onDeleteLiveStreamTask()
:推流任务已成功删除回调。 NERtcChannelCallback#onLiveStreamState()
:推流任务状态已改变回调。
|
abstract |
用户自定义上报事件
eventName | 事件名 不能为空 |
param | 参数键值对,参数值支持 String 及 java 基本类型(int 、bool....), 如不需要填 null |
customIdentify | 自定义标识,比如产品或业务类型,如不需要填 null |
0
方法调用成功,其他调用失败
|
abstract |
|
abstract |
通过主流通道发送媒体补充增强信息(SEI)。
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。
seiMsg | 自定义 SEI 数据。 |
0
方法调用成功,其他失败
|
abstract |
指定主流或辅流通道发送媒体增强补充信息(SEI)。
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。
seiMsg | 自定义 SEI 数据。 |
streamType | 发送 SEI 时,使用的流通道类型。详细信息请参考 video.NERtcVideoStreamType 。 |
0
方法调用成功,其他失败
|
abstract |
空间音效的距离衰减属性和语音范围。
NERtcEx#EnableSpatializer()
接口启用空间音效,再调用本接口。参数名称 | 类型 | 描述 |
---|---|---|
audible_distance | Integer | 监听器能接收到音频的最大距离,用户的声音在该范围内可被听见。在该范围内,声音将会随距离的增加而衰减,直至超出所设置的范围,则不再有声音。取值范围[0,1000] 默认值为 32。 |
conversational_distance | Integer | 监听器不对音频进行衰减的距离,在该距离范围内,扬声器音频保持其原始音量,超出该范围时,声音将会随距离的增加而衰减。默认值为 1。 |
roll_off | audio.NERtcDistanceRolloffModel() | 距离衰减模式。默认值为 kNERtcDistanceRolloffNone。 |
|
abstract |
设置自己的音频只能被房间内指定的人订阅。
默认房间所有其他人都可以订阅自己的音频。
uidArray | 可订阅自己音频的用户 uid 列表。 |
|
abstract |
设置本地摄像头的视频主流采集配置。
通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。
NERtcChannel#setCameraCaptureConfig(NERtcCameraCaptureConfig captureConfig, NERtcVideoStreamType streamType)
方法。参数名称 | 类型 | 描述 |
---|---|---|
captureConfig | video.NERtcCameraCaptureConfig | 本地摄像头采集配置。 |
|
abstract |
设置本地摄像头的视频主流或辅流采集配置。
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
captureConfig | video.NERtcCameraCaptureConfig | 本地摄像头采集配置。 |
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
|
abstract |
设置 NERtcChannel 对象的事件回调。
您可以通过设置的事件回调,监听当前设置 NERtcChannel 对象的事件回调对象对应房间的事件,并接收房间中用户视频信息等。
channelCallback | 事件回调对象 NERtcChannelCallback |
|
abstract |
设置驱动 NERtcChannelCallback 事件回调队列
参数名称 | 类型 | 描述 |
---|---|---|
callbackHandler | android.os.Handler | 设置驱动 NERtcChannelCallback 事件回调队列。 |
|
abstract |
设置房间场景。
房间场景可设置为通话或直播场景,不同的场景中 QoS 策略不同。
channelProfile | 设置房间场景。详细信息请参考 NERtcConstants.RTCChannelProfile 。 |
0
方法调用成功,其他调用失败。
|
abstract |
设置直播场景下的用户角色。
通过本接口可以实现将用户角色在“主播”(CLIENT_ROLE_BROADCASTER)和“观众“(CLIENT_ROLE_AUDIENCE)之间的切换,用户加入房间后默认为“主播”。
NERtcEx#setChannelProfile()
方法设置房间场景为直播场景(LIVE_BROADCASTING)时调用有效。 参数名称 | 类型 | 描述 |
---|---|---|
role | int | 用户角色:
|
NERtcChannelCallback#onUserJoined()
回调。NERtcChannelCallback#onClientRoleChange()
回调,远端用户触发 NERtcChannelCallback#onUserJoined()
回调。NERtcChannelCallback#onClientRoleChange()
回调,远端用户触发 NERtcChannelCallback#onUserLeave()
回调。
|
abstract |
开启或关闭外部视频源数据输入。
该方法启用外部视频数据输入功能。
enable | 是否使用外部视频源:
|
|
abstract |
自定义本地视频渲染器。
该方法设置本地视频渲染器。只影响本地用户看到的视频画面,不影响远端。
在 App 开发中,通常在初始化后调用该方法进行本地自定义渲染器设置,然后再加入房间。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcVideoStreamType | 视频通道类型:
|
renderer | NERtcExternalVideoRenderer | 自定义的本地视频渲染器。详细信息请参考 NERtcExternalVideoRenderer |
|
abstract |
设置本地用户的媒体流优先级。
通过此接口可以实现设置某用户的媒体流优先级为高,从而弱网环境下 SDK 会优先保证其他用户收到的该用户媒体流的质量。
NERtcEx#switchChannel(String token, String channelName, NERtcJoinChannelOptions channelOptions)
方法快速切换房间后,媒体优先级会恢复为默认值,即普通优先级。 参数名称 | 类型 | 描述 |
---|---|---|
priority | int | 本地用户的媒体流优先级,默认为 NERtcConstants.MediaPriority#MEDIA_PRIORITY_NORMAL ,即普通优先级,详细信息请参考 NERtcConstants.MediaPriority |
isPreemptive | boolean | 是否开启抢占模式:
|
|
abstract |
设置弱网条件下发布的音视频流回退选项。 在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 NERtcConstants.StreamFallbackOption#AUDIO_ONLY
后:
option | 本地发布流回退处理选项。 默认为不回退处理 NERtcConstants.StreamFallbackOption#DISABLED 。 |
0
方法调用成功,其他调用失败。
|
abstract |
设置视频编码属性。
通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考 设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
videoConfig | video.NERtcVideoConfig | 视频编码属性配置。 |
NERtcChannel#setLocalVideoConfig(NERtcVideoConfig videoConfig, NERtcVideoStreamType streamType)
方法。
|
abstract |
设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考 设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | boolean | 视频通道类型:
|
videoConfig | video.NERtcVideoConfig | 视频编码属性配置。 |
|
abstract |
设置范围语音模式
mode | 范围语音模式。 此接口在加入房间前后均可调用。 |
|
abstract |
设置范围语音小队
mode | 范围语音模式。 |
|
abstract |
自定义远端视频渲染器。
该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcVideoStreamType | 视频通道类型:
|
uid | 远端用户 ID | |
renderer | NERtcExternalVideoRenderer | 自定义的远端视频渲染器。详细信息请参考 NERtcExternalVideoRenderer |
|
abstract |
设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。
enabled | 是否设置音频订阅优先级。
|
uid | 用户 uid |
|
abstract |
设置弱网条件下订阅的音视频流回退选项。 弱网环境下,订阅的音视频质量会下降。调用该接口并将 option 设置为 NERtcConstants.StreamFallbackOption#VIDEO_STREAM_LOW
或者 NERtcConstants.StreamFallbackOption#AUDIO_ONLY
后:
option | 订阅音视频流的回退选项,默认为 NERtcConstants.StreamFallbackOption#VIDEO_STREAM_LOW 弱网时回退到视频小流。 |
0
方法调用成功,其他调用失败。
|
abstract |
设置空间音效的渲染模式
EnableSpatializer()
接口启用空间音效,再调用本接口。 mode | 渲染模式,具体请参考 audio.NERtcSpatializerRenderMode ,默认值 #kNERtcSpatializerRenderBinauralHighQuality |
|
abstract |
设置空间音效的房间混响属性
EnableSpatializer()
接口启用空间音效,再调用本接口。 room_property | 房间属性,具体请参考 audio.NERtcSpatializerRoomProperty |
|
abstract |
注册统计信息观测器,设置统计信息回调。
statsObserver | 统计信息观测器。详细信息请参考 stats.NERtcStatsObserver 。 |
|
abstract |
您可以调用该方法指定只订阅的音频流。
uidArray | 只订阅此 用户 uid 列表 的音频。 |
|
abstract |
您可以调用该方法指定不订阅的音频流。
uidArray | 不订阅此 用户 uid 列表 的音频。 |
|
abstract |
设置本端用户的视频辅流画布。
通过此接口可以实现设置本端用户的辅流显示视图。
参数名称 | 类型 | 描述 |
---|---|---|
render | IVideoRender | 视频画布。详细信息请参考 video.NERtcVideoView 。 |
|
abstract |
设置本地用户视图。
通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
render | IVideoRender | 本地用户视频的画布。设置为 NULL 表示取消并释放已设置的画布,详细信息请参考 video.NERtcVideoView 。 |
NERtcVideoView#setScalingType(int)
方法。
|
abstract |
设置远端用户的视频辅流画布。
通过此接口可以实现绑定远端用户和对应辅流的显示视图,即指定某个 uid 使用对应的画布显示。
NERtcChannelCallback#onUserJoined(long uid, NERtcUserJoinExtraInfo joinExtraInfo)
回调后,再调用此接口通过回调返回的 uid 设置对应视图。 参数名称 | 类型 | 描述 |
---|---|---|
render | IVideoRender | 视频画布。详细信息请参考 video.NERtcVideoView 。 |
uid | long | 远端用户 ID。 |
NERtcVideoView#setScalingType(int)
方法在通话过程中更新远端用户视图的渲染模式。
|
abstract |
设置远端用户视图。
通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
render | IVideoRender | 远端用户视频的画布。详细信息请参考 video.NERtcVideoView 。 |
uid | long | 远端用户的 ID。可以在 NERtcChannelCallback#onUserJoined() 回调中获取。 |
NERtcVideoView#setScalingType(int)
方法。
|
abstract |
开始跨房间媒体流转发。
config | 跨房间媒体流转发参数配置信息。详细信息请参考 NERtcMediaRelayParam.ChannelMediaRelayConfiguration 。 |
0
方法调用成功,其他调用失败
|
abstract |
开启屏幕共享。
通过此接口开启屏幕共享后,屏幕共享内容以视频辅流的形式发送。
参数名称 | 类型 | 描述 |
---|---|---|
screenConfig | video.NERtcScreenConfig | 本地辅流发送配置。 |
mediaProjectionPermissionResultData | Intent | Android 的录屏请求 Intent,在请求录屏权限时返回。 |
mediaProjectionCallback | MediaProjection.Callback | 录屏状态回调,用于监听录屏的结束通知。 |
NERtcChannelCallback#onUserSubStreamVideoStart()
回调。
|
abstract |
停止跨房间媒体流转发。
通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。
NERtcChannel#startChannelMediaRelay()
方法开启跨房间媒体流转发之后调用此接口。 NERtcChannelCallback#onMediaRelayStatesChange()
:跨房间媒体流转发状态发生改变回调。成功调用该方法后会返回 MEDIARELAY_STATE_IDLE,否则会返回 MEDIARELAY_STATE_FAILURE。 NERtcChannelCallback#onMediaRelayReceiveEvent()
:跨房间媒体流相关转发事件回调。成功调用该方法后会返回 MEDIARELAY_EVENT_DISCONNECT,否则会返回 MEDIARELAY_EVENT_FAILURE。
|
abstract |
关闭屏幕共享。
通过此接口可以实现关闭屏幕共享辅流。
NERtcChannelCallback#onUserSubStreamVideoStop()
回调。
|
abstract |
取消或恢复订阅所有远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,即 NERtc#setParameters()
方法的 KEY_AUTO_SUBSCRIBE_AUDIO 参数默认设置为 true;只有当该参数的设置为 false 时,此接口的调用才会生效。
NERtc#subscribeRemoteAudioStream()
方法单独订阅指定远端用户的音频流。 参数名称 | 类型 | 描述 |
---|---|---|
subscribe | boolean | 是否订阅所有用户的音频主流:
|
|
abstract |
取消或恢复订阅指定远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,您也可以通过此方法取消或恢复订阅指定远端用户的音频主流。
NERtcChannelCallback#onUserAudioStart()
后可调用。 NERtcChannel#leaveChannel()
后设置失效,将恢复至默认。 在开启音频自动订阅且未打开服务端 ASL 自动选路的情况下,调用该接口无效。 参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 指定用户的 ID。 |
subscribe | boolean | 是否订阅指定用户的音频主流:
|
NERtcChannel#subscribeRemoteSubStreamAudio()
方法。
|
abstract |
取消或恢复订阅指定远端用户数据通道流。
加入房间时,默认订阅所有远端用户的数据通道流,您可以通过此方法取消或恢复订阅指定远端用户的数据通道流。
[in] | uid | 指定用户的 ID。 |
[in] | subscribe | 是否订阅远端用户数据通道流。
|
|
abstract |
设置是否订阅指定远端用户的音频辅流。
NERtcChannelCallback#onUserSubStreamAudioStart()
后调用。 参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 远端用户 ID。 |
subscribe | boolean | 是否订阅指定音频辅流:
|
|
abstract |
订阅或取消订阅远端用户的视频辅流。
NERtcChannel#setupRemoteSubStreamVideoCanvas()
设置远端用户的视频辅流画布。NERtcChannelCallback#onUserSubStreamVideoStart()
后调用此接口。 参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 远端用户 ID。 |
subsribe | boolean | 是否订阅远端的视频辅流:
|
NERtcChannelCallback#onUserSubStreamVideoStart()
:远端用户发布视频辅流的回调。NERtcChannelCallback#onUserSubStreamVideoStop()
:远端用户停止发布视频辅流的回调。
|
abstract |
订阅或取消订阅指定远端用户的视频主流。
加入房间后,默认不订阅所有远端用户的视频主流;若您希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频主流。
参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 指定用户的 ID。 |
streamType | video.NERtcRemoteVideoStreamType | 订阅的视频流类型:
|
subscribe | boolean | 是否订阅远端用户的视频流:
|
NERtcEx#subscribeRemoteSubStreamVideo()
方法。
|
abstract |
切换前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。
0
方法调用成功,其他调用失败
|
abstract |
指定前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。
cameraPos | 相机类型。详细信息请参考 NERtcConstants.CameraPosition 。该参数为必填参数,若未赋值,SDK 会报错。 |
0
方法调用成功,其他调用失败
|
abstract |
本地视频画面截图。 调用 takeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的 onTakeSnapshotResult 回调返回截图画面的数据。
streamType | 截图的视频流类型。详细信息请参考 video.NERtcVideoStreamType 。 |
callback | 截图回调。详细信息请参考 video.NERtcTakeSnapshotCallback 。 |
0
方法调用成功,其他调用失败。
|
abstract |
远端视频画面截图。 调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的 onTakeSnapshotResult 回调返回截图画面的数据。
uid | 远端用户 ID。 |
streamType | 截图的视频流类型。支持设置为主流或辅流。详细信息请参考 video.NERtcVideoStreamType 。 |
callback | 截图回调。详细信息请参考 video.NERtcTakeSnapshotCallback 。 |
0
方法调用成功,其他调用失败。
|
abstract |
更新媒体流转发的目标房间。 成功开始跨房间转发媒体流后,如果您希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。
config | 跨房间媒体流转发参数配置信息。详细信息请参考 NERtcMediaRelayParam.ChannelMediaRelayConfiguration 。 |
0
方法调用成功,其他调用失败。
|
abstract |
更新房间内指定推流任务。 通过此接口可以实现调整指定推流任务的编码参数、画布布局、推流模式等。
NERtcChannel#addLiveStreamTask()
方法添加推流任务。 参数名称 | 类型 | 描述 |
---|---|---|
taskInfo | live.NERtcLiveStreamTaskInfo | 推流任务信息。 |
updateLiveTaskCallback | live.UpdateLiveTaskCallback | 操作结果回调,方法调用成功后会触发对应的 UpdateLiveTaskCallback#onUpdateLiveStreamTask() 回调。 |
AddLiveTaskCallback#onAddLiveStreamTask()
:推流任务已成功删除回调。 NERtcChannelCallback#onLiveStreamState()
:推流任务状态已改变回调。
|
abstract |
更新权限密钥。
NERtc#updatePermissionKey()
。 参数名称 | 类型 | 描述 |
---|---|---|
key | String | 新的权限密钥。 |
|
abstract |
设置空间音效中说话者和接收者的空间位置信息。SDK 会根据该方法中的参数计算接收者和说话者之间的相对位置,进而渲染出空间音效。
EnableSpatializer()
接口启用空间音效,再调用本接口。EnableSpatializer()
接口关闭空间音效后,空间位置信息会重置为默认值,您需要重新设置位置信息。 audio.NERtcSpatializerPositionInfo
具体参数说明如下表所示。 参数名称 | 描述 |
---|---|
mSpeakerPosition | 说话者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值{0,0,0} |
mSpeakerQuaternion | 说话者的旋转信息,通过四元组来表示,数据格式为{w, x, y, z}。默认值{0,0,0,0} |
mHeadPosition | 接收者的位置信息,三个值依次表示 X、Y、Z 的坐标值。默认值{0,0,0} |
mHeadQuaternion | 接收者的旋转信息,通过四元组来表示,数据格式为{w, x, y, z}。默认值{0,0,0,0} |