NERtc Android SDK  V4.6.20
Public 成员函数 | 所有成员列表
com.netease.lava.nertc.sdk.channel.NERtcChannel类 参考abstract

Public 成员函数

abstract String getChannelName ()
 
abstract void setChannelCallback (NERtcChannelCallback channelCallback)
 
abstract void setStatsObserver (NERtcStatsObserver statsObserver)
 
abstract int joinChannel (String token)
 
abstract int leaveChannel ()
 
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 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 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 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 setLocalCanvasWatermarkConfigs (NERtcVideoStreamType type, NERtcCanvasWatermarkConfig config)
 
abstract int setRemoteCanvasWatermarkConfigs (long uid, NERtcVideoStreamType type, NERtcCanvasWatermarkConfig config)
 
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 adjustUserPlaybackSignalVolume (long uid, int volume)
 
abstract int setLocalPublishFallbackOption (int option)
 
abstract int setRemoteSubscribeFallbackOption (int option)
 
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 void release ()
 

详细描述

NERtcChannel 类在指定房间中实现实时音视频功能。通过创建多个 NERtcChannel 对象,用户可以同时加入多个房间。

自从
V4.5.0

成员函数说明

◆ addLiveStreamTask()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.addLiveStreamTask ( NERtcLiveStreamTaskInfo  taskInfo,
AddLiveTaskCallback  addLiveTaskCallback 
)
abstract

添加房间推流任务。
成功调用该方法后,当前用户可以收到该直播流的状态通知。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。
  • 该方法每次只能增加一路旁路推流地址。如需推送多路流,则需多次调用该方法。同一个音视频房间(即同一个 channelId)可以创建 6 个不同的推流任务。
参数
taskInfo推流任务信息,详细信息请参考 live.NERtcLiveStreamTaskInfo
addLiveTaskCallback操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 live.AddLiveTaskCallback
返回
0
方法调用成功 , 其他失败。

◆ adjustLoopBackRecordingSignalVolume()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.adjustLoopBackRecordingSignalVolume ( int  volume)
abstract

调整共享音频音量。

自从
V4.6.0
参数
volume  采集信号量。该参数的取值范围为 0 ~ 100。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ adjustUserPlaybackSignalVolume()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.adjustUserPlaybackSignalVolume ( long  uid,
int  volume 
)
abstract

调节本地播放的指定远端用户的信号音量。 加入房间后,您可以多次调用该方法设置本地播放的不同远端用户的音量;也可以反复调节本地播放的某个远端用户的音量。

注解
  • 请在成功加入房间后调用该方法。
  • 该方法在本次通话中有效。如果远端用户中途退出房间,则再次加入此房间时仍旧维持该设置,通话结束后设置失效。
  • 该方法调节的是本地播放的指定远端用户混音后的音量,且每次只能调整一位远端用户。若需调整多位远端用户在本地播放的音量,则需多次调用该方法。
参数
uid远端用户 ID。
volume播放音量,取值范围为 [0,100]。
  • 0:静音。
  • 100:原始音量。
返回
0
方法调用成功,其他调用失败。

◆ enableDualStreamMode()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.enableDualStreamMode ( boolean  enable)
abstract

设置是否开启视频大小流模式。
该方法设置单流或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。

注解
  • 该方法只对摄像头数据生效,自定义输入、屏幕共享等视频流无效。
  • 该方法在加入房间前后都能调用。
参数
enable指定是否开启双流模式。
  • true:(默认)开启双流模式。
  • false:关闭双流模式。
返回
0
方法调用成功,其他调用失败

◆ enableLocalAudio()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.enableLocalAudio ( boolean  enable)
abstract

开启/关闭本地音频采集。
当 App 加入房间时,语音功能默认为开启状态。
该方法不影响接收或播放远端音频流,enableLocalAudio(false) 适用于只下行不上行音频流的场景。
成功调用该方法后,房间内其他用户触发 onUserAudioStart 或 onUserAudioStop 回调。

注解
  • 该方法与 muteLocalAudioStream 的区别在于,enableLocalAudio 用于开启本地语音采集及处理;muteLocalAudioStream 用于停止或继续发送本地音频流。
  • 该方法设置内部引擎为启用状态,在 leaveChannel 后仍然有效。
参数
enable是否开启本地语音。
  • true:(默认)重新开启本地语音,即开启本地语音采集。
  • false: 关闭本地语音,即停止本地语音采集。
返回
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

◆ enableLocalSubStreamAudio()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.enableLocalSubStreamAudio ( boolean  enable)
abstract

开启或关闭音频辅流。
开启时远端会收到 NERtcCallbackEx#onUserSubStreamAudioStart(long),关闭时远端会收到NERtcCallbackEx#onUserSubStreamAudioStop(long)

自从
V4.6.10
参数
enable是否开启音频辅流。
  • true:开启音频辅流。
  • false:关闭音频辅流。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ enableLocalVideo() [1/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.enableLocalVideo ( boolean  enable)
abstract

是否开启本地视频采集。

注解
参数
enable是否启用本地视频采集:
  • true:(默认)开启本地视频采集。
  • false:关闭本地摄像头设备。关闭后,远端用户会接收不到本地用户的视频流;但本地用户依然可以接收远端用户的视频流。
返回
0
方法调用成功,其他调用失败

◆ enableLocalVideo() [2/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.enableLocalVideo ( NERtcVideoStreamType  streamType,
boolean  enable 
)
abstract

开启或关闭本地视频的采集与发送。
通过主流或辅流视频通道进行本地视频流的采集与发送。

自从
V4.6.20
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 该方法设置内部引擎为开启或关闭状态, 在 NERtcChannel#leaveChannel() 后仍然有效。
  • 在您的应用切到后台或者其他应用占用摄像头时,可能会导致摄像头打开失败,需要注册 camera 动态权限,详细信息请参考添加权限
参数说明
参数名称 类型 描述
streamType video.NERtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
enable boolean 是否开启本地视频采集与发送:
  • true:开启本地视频采集。
  • false:关闭本地视频采集。关闭后,远端用户无法接收到本地用户的视频流;但本地用户仍然可以接收到远端用户的视频流。
示例代码
//打开视频主流
NERtcEx.getInstance().enableLocalVideo(NERtcVideoStreamType.kNERtcVideoStreamTypeMain, true);
//关闭视频主流
NERtcEx.getInstance().enableLocalVideo(NERtcVideoStreamType.kNERtcVideoStreamTypeMain, false);
//打开视频辅流
NERtcEx.getInstance().enableLocalVideo(NERtcVideoStreamType.kNERtcVideoStreamTypeSub, true);
//关闭视频辅流
NERtcEx.getInstance().enableLocalVideo(NERtcVideoStreamType.kNERtcVideoStreamTypeSub, false);
相关回调
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30001(ENGINE_ERROR_FATAL):通用错误,一般表示引擎错误,尝试再次调用此接口即可。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如已开启外部视频采集。
    • 30027(ENGINE_ERROR_CAMERA_OCCUIPIED): 所选设备已被占用。比如已通过主流通道开启了摄像头,无法再通过辅流通道开启摄像头。
    • 30403(ENGINE_ERROR_MEDIA_BANNED): 已被服务器禁用视频。

◆ enableLoopbackRecording()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.enableLoopbackRecording ( boolean  enable,
Intent  mediaProjectionResultIntent,
MediaProjection.Callback  callback 
)
abstract

开启或关闭音频共享。

自从
V4.6.0
参数
enable是否开启音频共享。
  • true:开启音频共享。
  • false:关闭音频共享。
mediaProjectionResultIntent  Android 的系统权限请求 Intent,在请求权限时返回。
callback  音频共享状态回调,用于监听音频共享任务的结束通知。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ enableMediaPub()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.enableMediaPub ( int  mediaType,
boolean  enable 
)
abstract
   @if English
   Publishes or unpublishes the local audio stream.
   <br>When a user joins a room, the feature is enabled by default.
   <br>The method does not affect receiving or playback remote audio streams. The enableLocalAudio(false) method is suitable for scenarios where only downstream data is received without upstream data.
   @note 
   - The method controls only the main stream.
   - The method can be called before or after a user joins a room.
   @since V4.6.10
   @param enable specifies whether to publish the local audio stream.
   - YES(default): publishes the local audio stream. 
   - NO: unpublishes the local audio stream.
   @param mediaType media type. Only the audio is supported.
   @return 
   - 0: success.
   - Others: failure
   @endif
   @if Chinese
   开启或关闭本地媒体流(主流)的发送。
   <br>该方法用于开始或停止向网络发送本地音频或视频数据。
   <br>该方法不影响接收或播放远端媒体流,也不会影响本地音频或视频的采集状态。
   @since V4.6.10
   @note 
   - 该方法暂时仅支持控制音频流的发送。
   - 该方法在加入房间前后均可调用。
   - 停止发送媒体流的状态会在通话结束后被重置为允许发送。
   - 成功调用该方法切换本地用户的发流状态后,房间内其他用户会收到 {@link AbsNERtcCallbackEx#onUserAudioStart()}(开启发送音频)或 {@link AbsNERtcCallbackEx#onUserAudioStop()}

(停止发送音频)的回调。

相关接口
  • NERtcChannel#muteLocalAudioStream()
    • 在需要开启本地音频采集(监测本地用户音量)但不发送音频流的情况下,您也可以调用 muteLocalAudioStream(true) 方法。
    • 两者的差异在于, muteLocalAudioStream(true) 仍然保持与服务器的音频通道连接,而 enableMediaPub(false) 表示断开此通道,因此若您的实际业务场景为多人并发的大房间,建议您调用 enableMediaPub 方法。
参数
enable是否发布本地媒体流。
  • true(默认):发布本地媒体流。
  • false:不发布本地媒体流。
mediaType媒体发布类型,暂时仅支持音频。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ getChannelName()

abstract String com.netease.lava.nertc.sdk.channel.NERtcChannel.getChannelName ( )
abstract

获取当前房间名称。

返回
当前房间名称。 失败返回null

◆ getConnectionState()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.getConnectionState ( )
abstract

获取当前房间连接状态。

返回
当前房间连接状态。详细信息请参考 NERtcConstants.ConnectionState

◆ joinChannel()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.joinChannel ( String  token)
abstract

加入音视频房间。
加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。

注解
  • SDK 加入房间后,同一个房间内的用户可以互相通话,多个用户加入同一个房间,可以群聊。使用不同 App Key 的 App 之间不能互通。
  • 成功调用该方加入房间后,本地会触发 onJoinChannel 回调,远端会触发 onUserJoined 回调。
  • 用户成功加入房间后,默认订阅房间内所有其他用户的音频流,可能会因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。
  • 直播场景中,观众角色可以通过 switchChannel 切换房间。
参数
token安全认证签名(NERTC Token)。可设置为:
  • null。调试模式下可设置为 null。安全性不高,建议在产品正式上线前转为安全模式。
  • 已获取的NERTC Token。安全模式下必须设置为获取到的 Token 。若未传入正确的 Token 将无法进入房间。推荐使用安全模式。
  • 字符串格式,长度为 1~64 字节。
  • 支持以下89个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~”
返回
0
方法调用成功,其他失败
参见
NERtcChannel::leaveChannel()

◆ leaveChannel()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.leaveChannel ( )
abstract

离开房间,即挂断或退出通话。
结束通话时,必须调用 leaveChannel 结束通话,否则无法开始下一次通话。
成功调用该方法离开房间后,本地会触发 onLeaveChannel 回调,远端会触发 onUserLeave 回调。

返回
0
成功,其他失败.
参见
NERtcChannel::joinChannel(String)

◆ muteLocalAudioStream()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.muteLocalAudioStream ( boolean  mute)
abstract

开启或关闭本地音频主流的发送。
该方法用于向网络发送或取消发送本地音频数据。
该方法不影响接收或播放远端音频流,也不会影响本地音频的采集状态。

注解
  • 该方法在加入房间前后均可调用。
  • 静音状态会在通话结束后被重置为非静音。
  • 若本地用户在说话,成功调用该方法后,房间内其他用户会收到 NERtcCallbackEx#onUserAudioMute() 回调。
相关接口
NERtcChannel#enableMediaPub()
  • 在需要开启本地音频采集(监测本地用户音量)但不发送音频流的情况下,您也可以调用 enableMeidaPub(false) 方法。
  • 两者的差异在于,muteLocalAudioStream(true) 仍然保持与服务器的音频通道连接,而 enableMediaPub(false) 表示断开此通道,因此若您的实际业务场景为多人并发的大房间,建议您调用 enableMediaPub 方法。
参数
mute是否开启本地音频的发送。
  • true(默认):不发送本地音频。
  • false:发送本地音频。
返回
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

◆ muteLocalSubStreamAudio()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.muteLocalSubStreamAudio ( boolean  mute)
abstract

静音或解除静音本地上行的音频辅流。

注解
静音状态会在通话结束后被重置为非静音。
自从
V4.6.10
参数
mute是否静音本地音频辅流发送。
  • true(默认):静音本地音频辅流。
  • false:取消静音本地音频辅流。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ muteLocalVideoStream() [1/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.muteLocalVideoStream ( boolean  mute)
abstract

取消或恢复发布本地视频流。

注解
  • 该方法仅适用于视频主流,若您希望取消或恢复发布视频辅流,请调用 NERtcChannel#muteLocalVideoStream(boolean mute, NERtcVideoStreamType streamType) 方法。
  • 调用该方法取消发布本地视频流后,SDK 不再发送本地视频流。
  • 该方法在加入房间前后均可调用。
  • 若调用该方法取消发布本地视频流,通话结束后会被重置为默认状态,即默认发布本地视频流。
  • 该方法与 enableLocalVideo(false) 的区别在于,enableLocalVideo(false) 会关闭本地摄像头设备,muteLocalVideoStream 不影响本地视频流采集,不禁用摄像头,且响应速度更快。
  • 成功调用该方法后,远端会触发 onUserVideoMute 回调。
参数
mute是否取消发布本地视频流。
  • true:不发布本地视频流。
  • false:(默认)发布本地视频流。
返回
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

◆ muteLocalVideoStream() [2/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.muteLocalVideoStream ( boolean  mute,
NERtcVideoStreamType  streamType 
)
abstract

取消或恢复发布本地视频。
调用该方法取消发布本地视频主流或辅流后,SDK 不再发送本地视频流。

自从
V4.6.20
使用前提
一般在通过 NERtc#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)(true) 接口开启本地视频采集并发送后调用该方法。
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 调用该方法取消发布本地视频流时,设备仍然处于工作状态。
  • 若调用该方法取消发布本地视频流,通话结束后会被重置为默认状态,即默认发布本地视频流。
  • 该方法与 NERtc#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)(false) 的区别在于,后者会关闭本地摄像头设备,该方法不禁用摄像头,不会影响本地视频流采集且响应速度更快。
参数说明
参数名称 类型 描述
streamType video.NERtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
muted boolean 是否取消发布本地视频流:
  • true:取消发布本地视频流。
  • false:恢复发布本地视频流。
示例代码
//取消发布本地视频主流
NERtcEx.getInstance().muteLocalVideoStream(NERtcVideoStreamType.kNERtcVideoStreamTypeMain, true);
//恢复发布本地视频主流
NERtcEx.getInstance().muteLocalVideoStream(NERtcVideoStreamType.kNERtcVideoStreamTypeMain, false);
//取消发布本地视频辅流
NERtcEx.getInstance().muteLocalVideoStream(NERtcVideoStreamType.kNERtcVideoStreamTypeSub, true);
//恢复发布本地视频辅流
NERtcEx.getInstance().muteLocalVideoStream(NERtcVideoStreamType.kNERtcVideoStreamTypeSub, false);
相关回调
取消发布本地视频主流或辅流后,远端会收到 NERtcCallbackEx.onUserVideoMute() 回调。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30004(ENGINE_ERROR_NOT_SUPPORTED):不支持的操作,比如当前使用的是纯音频 SDK。

◆ release()

abstract void com.netease.lava.nertc.sdk.channel.NERtcChannel.release ( )
abstract

销毁 NERtcChannel 实例,释放资源。

◆ removeLiveStreamTask()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.removeLiveStreamTask ( String  taskId,
DeleteLiveTaskCallback  deleteLiveTaskCallback 
)
abstract

删除房间推流任务。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。
参数
taskId推流任务 ID。
deleteLiveTaskCallback操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 live.DeleteLiveTaskCallback
返回
0
方法调用成功 ,其他失败。

◆ sendSEIMsg() [1/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.sendSEIMsg ( String  seiMsg)
abstract

通过主流通道发送媒体补充增强信息(SEI)。
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。

  • 调用时机:视频流(主流)开启后,可调用此函数。
  • 数据长度限制: SEI 最大数据长度为 4096 字节,超限会发送失败。如果频繁发送大量数据会导致视频码率增大,可能会导致视频画质下降甚至卡顿。
  • 发送频率限制:最高为视频发送的帧率,建议不超过 10 次/秒。
  • 生效时间:调用本接口之后,最快在下一帧视频数据帧之后发送 SEI 数据,最慢在接下来的 5 帧视频之后发送。
注解
  • SEI 数据跟随视频帧发送,由于在弱网环境下可能丢帧,SEI 数据也可能随之丢失,所以建议在发送频率限制之内多次发送,保证接收端收到的概率。
  • 调用本接口时,默认使用主流通道发送 SEI。
参数
seiMsg自定义 SEI 数据。
返回
0
方法调用成功,其他失败
参见
NERtcCallbackEx::onRecvSEIMsg(long, String)
NERtcEx::sendSEIMsg(String, NERtcVideoStreamType)

◆ sendSEIMsg() [2/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.sendSEIMsg ( String  seiMsg,
NERtcVideoStreamType  streamType 
)
abstract

指定主流或辅流通道发送媒体增强补充信息(SEI)。
在本端推流传输视频流数据同时,发送流媒体补充增强信息来同步一些其他附加信息。当推流方发送 SEI 后,拉流方可通过监听 onRecvSEIMsg 的回调获取 SEI 内容。

  • 调用时机:视频流(主流)开启后,可调用此函数。
  • 数据长度限制: SEI 最大数据长度为 4096 字节,超限会发送失败。如果频繁发送大量数据会导致视频码率增大,可能会导致视频画质下降甚至卡顿。
  • 发送频率限制:最高为视频发送的帧率,建议不超过 10 次/秒。
  • 生效时间:调用本接口之后,最快在下一帧视频数据帧之后发送 SEI 数据,最慢在接下来的 5 帧视频之后发送。
注解
  • SEI 数据跟随视频帧发送,由于在弱网环境下可能丢帧,SEI 数据也可能随之丢失,所以建议在发送频率限制之内多次发送,保证接收端收到的概率。
  • 指定通道发送SEI之前,需要提前开启对应的数据流通道。
参数
seiMsg自定义 SEI 数据。
streamType发送 SEI 时,使用的流通道类型。详细信息请参考 video.NERtcVideoStreamType
返回
0
方法调用成功,其他失败
参见
NERtcCallbackEx::onRecvSEIMsg(long, String)

◆ setAudioSubscribeOnlyBy()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setAudioSubscribeOnlyBy ( long[]  uidArray)
abstract

设置自己的音频只能被房间内指定的人订阅。
默认房间所有其他人都可以订阅自己的音频。

注解
  • 此接口需要在加入房间成功后调用。
  • 对于调用接口时不在房间的 uid 不生效。
自从
V4.6.10
参数
uidArray可订阅自己音频的用户uid 列表。
注解
此列表为全量列表。如果列表为空或 null,表示其他所有人均可订阅自己的音频。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ setCameraCaptureConfig() [1/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setCameraCaptureConfig ( NERtcCameraCaptureConfig  captureConfig)
abstract

设置本地摄像头的采集偏好等配置。
在视频通话或直播中,SDK 自动控制摄像头的输出参数。默认情况下,SDK 根据用户的 setLocalVideoConfig 配置匹配最合适的分辨率进行采集。但是在部分业务场景中,如果采集画面质量无法满足实际需求,可以调用该接口调整摄像头的采集配置。

注解
参数
captureConfig摄像头采集配置,详细信息请参考 video.NERtcCameraCaptureConfig
返回
0
方法调用成功,其他调用失败

◆ setCameraCaptureConfig() [2/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setCameraCaptureConfig ( NERtcCameraCaptureConfig  captureConfig,
NERtcVideoStreamType  streamType 
)
abstract

设置本地摄像头的采集配置。
通过此接口可以设置本地摄像头采集的视频宽度、高度、旋转角度等。

自从
V4.6.20
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
业务场景
在视频通话或直播中,SDK 自动控制摄像头的输出参数。默认情况下,SDK 会根据用户该接口的配置匹配最合适的分辨率进行采集。但是在部分业务场景中,如果采集画面质量无法满足实际需求,可以调用该接口调整摄像头的采集配置。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 调用该接口设置成功后,会自动重启摄像头采集模块。
参数说明
参数名称 类型 描述
captureConfig video.NERtcCameraCaptureConfig 本地摄像头采集配置。
streamType video.NERtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
示例代码
//设置本地摄像头主流采集配置
NERtcCameraCaptureConfig capConfig = new NERtcCameraCaptureConfig();
capConfig.captureWidth = 1280;
capConfig.captureHeight = 720;
NERtcEx.getInstance().setCameraCaptureConfig(capConfig, NERtcVideoStreamType.kNERtcVideoStreamTypeMain);
//设置本地摄像头辅流采集配置
NERtcCameraCaptureConfig subCapConfig = new NERtcCameraCaptureConfig();
subCapConfig.captureWidth = 1280;
subCapConfig.captureHeight = 720;
NERtcEx.getInstance().setCameraCaptureConfig(subCapConfig, NERtcVideoStreamType.kNERtcVideoStreamTypeSub);
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30003(ENGINE_ERROR_INVALID_PARAM):参数错误,比如 captureConfig 设置为空。
    • 30004(ENGINE_ERROR_NOT_SUPPORTED):不支持的操作,比如当前使用的是纯音频 SDK。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎未初始化成功。

◆ setChannelCallback()

abstract void com.netease.lava.nertc.sdk.channel.NERtcChannel.setChannelCallback ( NERtcChannelCallback  channelCallback)
abstract

设置NERtcChannel对象的事件回调。
你可以通过设置的事件回调,监听当前设置NERtcChannel对象的事件回调对象对应房间的事件,并接收房间中用户视频信息等。

参数
channelCallback事件回调对象 NERtcChannelCallback

◆ setClientRole()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setClientRole ( int  role)
abstract

在直播场景中设置用户角色。
用户角色支持设置为主播或观众,主播和观众的权限不同。

  • 主播:可以开关摄像头等设备、可以发布流、可以操作互动直播推流相关接口、上下线对其他房间内用户可见
  • 观众:不可以开关摄像头等设备、不可以发布流、不可以操作互动直播推流相关接口、上下线对其他房间内用户不可见。


如果你在加入频道后调用该方法切换角色,调用成功后会收到以下回调:

  • 主播切观众,本端触发 onClientRoleChange 回调,远端触发 onUserLeave 回调。
  • 观众切主播,本端触发 onClientRoleChange 回调,远端触发 onUserJoined 回调。
    注解
  • 默认情况下用户以主播角色加入房间。在加入房间前,用户可以调用本接口切换本端模式为观众。在加入房间后,用户也可以通过本接口切换用户模式。
  • 用户切换为观众角色时,SDK 会自动关闭音视频设备。
    参数
    role用户角色。详细信息请参考 com.netease.lava.nertc.sdk.NERtcConstants.UserRole
    返回
  • 0:(kNERtcNoError): 方法调用成功。
  • < 0: 方法调用失败。
    • 30001:(kNERtcErrFatal): Engine 未创建。
    • 30101:(kNERtcErrChannelNotJoined): 尚未加入房间。

◆ setLocalCanvasWatermarkConfigs()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setLocalCanvasWatermarkConfigs ( NERtcVideoStreamType  type,
NERtcCanvasWatermarkConfig  config 
)
abstract

添加本地视频画布水印。

注解
  • setLocalCanvasWatermarkConfigs 方法作用于本地视频画布,不影响视频流。画布被移除时,水印也会自动移除。
  • 设置水印之前,需要先通过画布相关方法设置画布。
参数
type视频流类型。支持设置为主流或辅流。详细信息请参考 video.NERtcVideoStreamType}。
config画布水印设置。支持设置文字水印、图片水印和时间戳水印,设置为 null 表示清除水印。
详细信息请参考 watermark.NERtcCanvasWatermarkConfig
参见
NERtcEx::setLocalVideoWatermarkConfigs(NERtcVideoStreamType, NERtcVideoWatermarkConfig)
返回
0
方法调用成功,其他调用失败。

◆ setLocalMediaPriority()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setLocalMediaPriority ( int  priority,
boolean  isPreemptive 
)
abstract

设置本地用户的媒体流优先级。 如果某个用户的优先级为高,那么该用户媒体流的优先级就会高于其他用户,弱网环境下 SDK 会优先保证高优先级用户收到的媒体流的质量。

注解
  • 请在加入房间前调用此方法。- 一个音视频房间中只有一个高优先级的用户。建议房间中只有一位用户调用 setLocalMediaPriority 将本端媒体流设为高优先级,否则需要开启抢占模式,保证本地用户的高优先级设置生效。
参数
priority本地用户的媒体流优先级,默认为 NERtcConstants.MediaPriority#MEDIA_PRIORITY_NORMAL,详细信息请参考 NERtcConstants.MediaPriority
isPreemptive是否开启抢占模式。
  • 抢占模式开启后,本地用户可以抢占其他用户的高优先级,被抢占的用户的媒体优先级变为普通优先级,在抢占者退出房间后,其他用户的优先级仍旧维持普通优先级。
  • 抢占模式关闭时,如果房间中已有高优先级用户,则本地用户的高优先级设置不生效,仍旧为普通优先级。
返回
0
方法调用成功,其他调用失败。

◆ setLocalPublishFallbackOption()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setLocalPublishFallbackOption ( int  option)
abstract

设置弱网条件下发布的音视频流回退选项。 在网络不理想的环境下,发布的音视频质量都会下降。使用该接口并将 option 设置为 NERtcConstants.StreamFallbackOption#AUDIO_ONLY 后:

  • SDK 会在上行弱网且音视频质量严重受影响时,自动关断视频流,尽量保证音频质量。
  • 同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。
  • 当本地发布的音视频流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发本地发布的媒体流已回退为音频流 onLocalPublishFallbackToAudioOnly 回调。
注解
请在加入房间(joinChannel)前调用此方法。
参数
option本地发布流回退处理选项。 默认为不回退处理 NERtcConstants.StreamFallbackOption#DISABLED
返回
0
方法调用成功,其他调用失败。

◆ setLocalVideoConfig() [1/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setLocalVideoConfig ( NERtcVideoConfig  videoConfig)
abstract

设置视频编码属性。

  • 可以在加入房间前或加入房间后调用此接口。
  • 您可以通过 widthheight 进行自定义设置摄像头采集视频的编码分辨率。详细信息请参考设置视频属性
    注解
  • 该方法仅适用于视频主流,若您希望为视频辅流通道设置编码属性,请调用 NERtcChannel#setLocalVideoConfig(NERtcVideoConfig videoConfig, NERtcVideoStreamType streamType)
  • 该接口为全量参数配置接口,重复调用此接口时,SDK 会刷新此前的所有参数配置,以最新的传参为准。所以每次修改配置时都需要设置所有参数,未设置的参数将取默认值。
  • 每个属性对应一套视频参数,例如分辨率、帧率、码率等。 所有设置的参数均为理想情况下的最大值。
    当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
    参数
    videoConfig视频编码属性配置,详细信息请参考 video.NERtcVideoConfig
    返回
    0
    方法调用成功,其他调用失败

◆ setLocalVideoConfig() [2/2]

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setLocalVideoConfig ( NERtcVideoConfig  videoConfig,
NERtcVideoStreamType  streamType 
)
abstract

设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数。

自从
V4.6.20
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 每个属性对应一套视频参数,例如分辨率、帧率、码率等。所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
  • 此接口为全量参数配置接口,重复调用此接口时,SDK 会刷新此前的所有参数配置,以最新的传参为准。所以每次修改配置时都需要设置所有参数,未设置的参数将取默认值。
参数说明
参数名称 类型 描述
streamType video.NERtcVideoConfig 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
videoConfig boolean 视频编码属性配置。
示例代码
//设置本地视频主流编码参数
NERtcVideoConfig config = new NERtcVideoConfig();
config.width = 640; //设置分辨率宽
config.height = 360; //设置分辨率高
config.videoCropMode = NERtcConstants.VideoCropMode.CROP_16x9; //设置裁剪格式 16:9
config.frameRate = NERtcEncodeConfig.NERtcVideoFrameRate.FRAME_RATE_FPS_30; //视频帧率
config.minFramerate = minFrameRate; //视频最小帧率
config.minBitrate = minBitRate; //视频编码码率
config.degradationPrefer = NERtcVideoConfig.NERtcDegradationPreference.DEGRADATION_DEFAULT; //带宽受限时的视频编码降级偏好
NERtcEx.getInstance().setLocalVideoConfig(config, NERtcVideoStreamType.kNERtcVideoStreamTypeMain);
//设置本地视频辅流编码参数
NERtcVideoConfig subConfig = new NERtcVideoConfig();
subConfig.width = 640; //设置分辨率宽
subConfig.height = 360; //设置分辨率高
subConfig.videoCropMode = NERtcConstants.VideoCropMode.CROP_16x9;
subConfig.frameRate = NERtcEncodeConfig.NERtcVideoFrameRate.FRAME_RATE_FPS_30;
subConfig.minFramerate = minFrameRate; //视频最小帧率
subConfig.minBitrate = minBitRate; //视频编码码率
subConfig.degradationPrefer = NERtcVideoConfig.NERtcDegradationPreference.DEGRADATION_DEFAULT;
NERtcEx.getInstance().setLocalVideoConfig(subConfig, NERtcVideoStreamType.kNERtcVideoStreamTypeSub);
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30003(ENGINE_ERROR_INVALID_PARAM):参数错误,比如 videoConfig 设置为空。
    • 30004(ENGINE_ERROR_NOT_SUPPORTED):不支持的操作,比如当前使用的是纯音频 SDK。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎未初始化成功。

◆ setRemoteCanvasWatermarkConfigs()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setRemoteCanvasWatermarkConfigs ( long  uid,
NERtcVideoStreamType  type,
NERtcCanvasWatermarkConfig  config 
)
abstract

添加远端视频画布水印。

注解
  • setRemoteCanvasWatermarkConfigs 方法作用于远端视频画布,不影响视频流。画布被移除时,水印也会自动移除。
  • 设置水印之前,需要先通过画布相关方法设置画布。
参数
uid远端用户 ID。
type视频流类型。支持设置为主流或辅流。详细信息请参考 video.NERtcVideoStreamType
config画布水印设置。支持设置文字水印、图片水印和时间戳水印,设置为 null 表示清除水印。
详细信息请参考 watermark.NERtcCanvasWatermarkConfig
参见
NERtcEx::setLocalVideoWatermarkConfigs(NERtcVideoStreamType, NERtcVideoWatermarkConfig)
返回
0
方法调用成功,其他调用失败。

◆ setRemoteHighPriorityAudioStream()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setRemoteHighPriorityAudioStream ( boolean  enabled,
long  uid 
)
abstract

设置远端用户音频流的高优先级。 支持在音频自动订阅的情况下,设置某一个远端用户的音频为最高优先级,可以优先听到该用户的音频。

注解
  • 该接口需要通话中设置,并需要自动订阅打开(默认打开)。
  • 该接口只能设置一个用户的优先级,后设置的会覆盖之前的设置。
  • 该接口通话结束后,优先级设置重置。
参数
enabled是否设置音频订阅优先级。
  • true:设置音频订阅优先级。
  • false:取消设置音频订阅优先级。
uid用户 uid
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ setRemoteSubscribeFallbackOption()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setRemoteSubscribeFallbackOption ( int  option)
abstract

设置弱网条件下订阅的音视频流回退选项。 弱网环境下,订阅的音视频质量会下降。调用该接口并将 option 设置为 NERtcConstants.StreamFallbackOption#VIDEO_STREAM_LOW 或者 NERtcConstants.StreamFallbackOption#AUDIO_ONLY 后:

  • SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高通信质量。
  • SDK 会持续监控网络质量,并在网络质量改善时自动恢复音视频流。
  • 当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发远端订阅流已回退为音频流 onRemoteSubscribeFallbackToAudioOnly 回调。
注解
请在加入房间(joinChannel)前调用此方法。
参数
option订阅音视频流的回退选项,默认为 NERtcConstants.StreamFallbackOption#VIDEO_STREAM_LOW 弱网时回退到视频小流。
返回
0
方法调用成功,其他调用失败。

◆ setStatsObserver()

abstract void com.netease.lava.nertc.sdk.channel.NERtcChannel.setStatsObserver ( NERtcStatsObserver  statsObserver)
abstract

注册统计信息观测器,设置统计信息回调。

参数
statsObserver统计信息观测器。详细信息请参考 stats.NERtcStatsObserver

◆ setupLocalSubStreamVideoCanvas()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setupLocalSubStreamVideoCanvas ( IVideoRender  render)
abstract

设置本地辅流视频画布。
该方法设置本地辅流视频显示信息。App 通过调用此接口绑定本地辅流的显示视窗(view)。 在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。

注解
  • 若使用外部渲染,建议在加入房间之前设置。
  • 请在初始化后调用该方法,然后再加入房间。
  • 同一个画布只能设置给一个用户。
参数
render视频画布设置,详细信息请参考 video.NERtcVideoView
返回
0
方法调用成功,其他调用失败
参见
NERtcVideoView

◆ setupLocalVideoCanvas()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setupLocalVideoCanvas ( IVideoRender  render)
abstract

设置本地视图。
该方法设置本地视频显示信息。只影响本地用户看到的视频画面,不影响远端。 App 通过调用此接口绑定本地视频流的显示视窗(view)。
在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入房间。

注解
  • 该方法在加入频道前后均能调用。
  • 如果您希望在通话中更新本地用户视图的渲染或镜像模式,请使用 NERtcVideoView#setScalingType(int) 方法。
参数
render视频画布。详细信息请参考 video.NERtcVideoView
返回
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

◆ setupRemoteSubStreamVideoCanvas()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setupRemoteSubStreamVideoCanvas ( IVideoRender  render,
long  uid 
)
abstract

设置远端的辅流视频画布。
该方法绑定远端用户和辅流显示视图,即指定某个 uid 使用对应的画布显示。

注解
  • 若使用外部渲染,建议在收到 onUserJoined 后设置。
  • 如果 App 无法事先知道对方的用户 ID,可以在远端加入房间后调用。从 onUserJoined 中获取对方的 uid,并通过本方法为该用户设置辅流视频画布。
  • 退出房间后,SDK 清除远端用户和画布的的绑定关系,该设置自动失效。
参数
render视频画布设置:
  • NERtcVideoView:使用 SDK 内置画布,如需使用外部渲染器,可以通过 IVideoRender 接口实现。
  • setScalingType:设置视频的显示模式。
注解
该方法通过 NERtcVideoView 进行设置。
参数
uid远端用户 ID。
返回
0
方法调用成功,其他调用失败
参见
NERtcVideoView

◆ setupRemoteVideoCanvas()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.setupRemoteVideoCanvas ( IVideoRender  render,
long  uid 
)
abstract

设置远端用户视图。
该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。
注意

  • 如果 App 无法事先知道对方的用户 ID,可以在 APP 收到 onUserJoined 事件时设置。
  • 解除某个用户的绑定视图可以把 render 设置为空。
  • 退出房间后,SDK 会清除远程用户和视图的绑定关系。
  • 如果您希望在通话中更新本地用户视图的渲染或镜像模式,请使用 NERtcVideoView#setScalingType(int) 方法。
    参数
    render视频画布。详细信息请参考 video.NERtcVideoView
    uid远端用户 ID。
    返回
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

◆ startChannelMediaRelay()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.startChannelMediaRelay ( NERtcMediaRelayParam.ChannelMediaRelayConfiguration  config)
abstract

开始跨房间媒体流转发。

  • 该方法可用于实现跨房间连麦等场景。支持同时转发到 4 个房间,同一个房间可以有多个转发进来的媒体流。
  • 成功调用该方法后,SDK 会触发 onMediaRelayStatesChange 和 onMediaRelayReceiveEvent 回调,并在回调中报告当前的跨房间媒体流转发状态和事件。
    注解
  • 请在成功加入房间后调用该方法。调用此方法前需要通过 config 中的 setDestChannelInfo 设置目标房间。
  • 该方法仅对直播场景下的主播角色有效。
  • 成功调用该方法后,若您想再次调用该方法,必须先调用 stopChannelMediaRelay 方法退出当前的转发状态。
  • 成功开始跨房间转发媒体流后,如果您需要修改目标房间,例如添加或删减目标房间等,可以调用方法 updateChannelMediaRelay 更新目标房间信息。
    参数
    config跨房间媒体流转发参数配置信息。详细信息请参考 NERtcMediaRelayParam.ChannelMediaRelayConfiguration
    返回
    0
    方法调用成功,其他调用失败

◆ startScreenCapture()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.startScreenCapture ( NERtcScreenConfig  screenConfig,
Intent  mediaProjectionPermissionResultData,
MediaProjection.Callback  mediaProjectionCallback 
)
abstract

开启屏幕共享,屏幕共享内容以辅流形式发送。
如果您在加入房间后调用该方法开启辅流,调用成功后,远端触发 onUserSubStreamVideoStart 回调。

注解
参数
screenConfig本地辅流发送配置,详细信息请参考 video.NERtcScreenConfig
mediaProjectionPermissionResultDataAndroid 的录屏请求 Intent,在请求录屏权限时返回。
mediaProjectionCallback录屏状态回调,用于监听录屏的结束通知。

◆ stopChannelMediaRelay()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.stopChannelMediaRelay ( )
abstract

停止跨房间媒体流转发。 主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 stopChannelMediaRelay 方法,此时主播会退出所有目标房间。

  • 成功调用该方法后,SDK 会触发 onMediaRelayStatesChange 回调。如果报告 MEDIARELAY_STATE_IDLE,则表示已停止转发媒体流。
  • 如果该方法调用不成功,SDK 会触发 onMediaRelayStatesChange 回调,并报告状态码 MEDIARELAY_STATE_FAILURE。
    返回
    0
    方法调用成功,其他调用失败。

◆ stopScreenCapture()

abstract void com.netease.lava.nertc.sdk.channel.NERtcChannel.stopScreenCapture ( )
abstract

关闭辅流形式的屏幕共享。
如果您在加入房间后调用该方法关闭辅流,调用成功后,远端触发 onUserSubStreamVideoStop 回调。

◆ subscribeAllRemoteAudioStreams()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.subscribeAllRemoteAudioStreams ( boolean  subscribe)
abstract

取消或恢复订阅所有远端用户音频流。

注解
  • 加入房间时,默认订阅所有远端用户的音频,即 setParameters 接口的 KEY_AUTO_SUBSCRIBE_AUDIO 参数默认设置为 true,只有在该参数设置为 false 时,本接口的调用才生效。
  • 该方法加入房间前后都可调用。设置 subscribeAllRemoteAudioStreams 的参数为 true 后,对后续加入的用户同样生效。
参数
subscribe是否取消订阅所有远端用户的音频流。
  • true:(默认)订阅音频流。
  • false: 取消订阅音频流。
返回
0
方法调用成功,其他失败

◆ subscribeRemoteAudioStream()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.subscribeRemoteAudioStream ( long  uid,
boolean  subscribe 
)
abstract

取消或恢复订阅指定远端用户音频流。
加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频流。

注解
该方法需要在加入房间后调用。
参数
uid指定用户的 ID。
subscribe是否订阅指定音频流。
  • true:(默认)订阅音频流。
  • false: 取消订阅音频流。
返回
  • 0: 方法调用成功。
  • 30005: 状态异常,可能是自动订阅打开,导致该接口无效。
  • 其他: 方法调用失败。

◆ subscribeRemoteSubStreamAudio()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.subscribeRemoteSubStreamAudio ( long  uid,
boolean  subscribe 
)
abstract

取消或恢复订阅指定远端用户音频辅流。
加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频辅流。

注解
该方法需要在对应 uid 加入房间后调用。
自从
V4.6.10
参数
uid指定用户的 ID。
subscribe是否订阅指定音频流。
  • true(默认):订阅音频流。
  • false:取消订阅音频流。
返回
  • 0:方法调用成功。
  • 其他:方法调用失败。

◆ subscribeRemoteSubStreamVideo()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.subscribeRemoteSubStreamVideo ( long  uid,
boolean  subscribe 
)
abstract

订阅或取消订阅远端的屏幕共享辅流视频,订阅之后才能接收远端的辅流视频数据。

注解
该方法只能在加入房间后调用。
参数
uid远端用户 ID。
subscribe是否订阅远端的屏幕共享辅流视频:
  • YES:订阅。
  • NO:取消订阅。
返回
0
方法调用成功,其他调用失败

◆ subscribeRemoteVideoStream()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.subscribeRemoteVideoStream ( long  uid,
NERtcRemoteVideoStreamType  streamType,
boolean  subscribe 
)
abstract

订阅或取消订阅指定远端用户的视频流。

注解
  • 用户加入房间之后,默认不订阅远端用户的视频流。如果希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频流。
  • 该方法需要在加入房间后调用。
参数
uid指定用户的用户 ID。
streamType订阅的视频流类型,详细信息请参考 video.NERtcRemoteVideoStreamType
subscribe是否订阅远端用户的视频流。
  • true:订阅指定视频流。
  • false(默认):不订阅指定视频流。
返回
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

◆ takeLocalSnapshot()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.takeLocalSnapshot ( NERtcVideoStreamType  streamType,
NERtcTakeSnapshotCallback  callback 
)
abstract

本地视频画面截图。 调用 takeLocalSnapshot 截取本地主流或本地辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的 onTakeSnapshotResult 回调返回截图画面的数据。

注解
  • 本地主流截图,需要在 startVideoPreview 或者 enableLocalVideo 并 joinChannel 成功之后调用。
  • 本地辅流截图,需要在 joinChannel 并 startScreenCapture 之后调用。
  • 同时设置文字、时间戳或图片水印时,如果不同类型的水印位置有重叠,会按照图片、文本、时间戳的顺序进行图层覆盖。
参数
streamType截图的视频流类型。详细信息请参考 video.NERtcVideoStreamType
callback截图回调。详细信息请参考 video.NERtcTakeSnapshotCallback
返回
0
方法调用成功,其他调用失败。

◆ takeRemoteSnapshot()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.takeRemoteSnapshot ( long  uid,
NERtcVideoStreamType  streamType,
NERtcTakeSnapshotCallback  callback 
)
abstract

远端视频画面截图。 调用 takeRemoteSnapshot 截取指定 uid 远端主流和远端辅流的视频画面,并通过 NERtcTakeSnapshotCallback 的 onTakeSnapshotResult 回调返回截图画面的数据。

注解
  • takeRemoteSnapshot 需要在收到 onUserVideoStart 与 onUserSubStreamVideoStart 回调之后调用。
  • 同时设置文字、时间戳或图片水印时,如果不同类型的水印位置有重叠,会按照图片、文本、时间戳的顺序进行图层覆盖。
参数
uid远端用户 ID。
streamType截图的视频流类型。支持设置为主流或辅流。详细信息请参考 video.NERtcVideoStreamType
callback截图回调。详细信息请参考 video.NERtcTakeSnapshotCallback
返回
0
方法调用成功,其他调用失败。

◆ updateChannelMediaRelay()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.updateChannelMediaRelay ( NERtcMediaRelayParam.ChannelMediaRelayConfiguration  config)
abstract

更新媒体流转发的目标房间。 成功开始跨房间转发媒体流后,如果你希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。

  • 成功开始跨房间转发媒体流后,如果您需要修改目标房间,例如添加或删减目标房间等,可以调用此方法。
  • 成功调用此方法后,SDK 会触发 onMediaRelayStatesChange 和 onMediaRelayReceiveEvent 回调,并在回调中报告当前的跨房间媒体流转发状态和事件。
    注解
  • 请在加入房间并成功调用 startChannelMediaRelay 开始跨房间媒体流转发后,调用此方法。调用此方法前需要通过 config 中的 setDestChannelInfo 设置目标房间。
  • 跨房间媒体流转发最多支持 4 个目标房间,您可以在调用该方法之前,通过 ChannelMediaRelayConfiguration 中的 removeDestChannelInfo 方法移除不需要的房间,再添加新的目标房间。
    参数
    config跨房间媒体流转发参数配置信息。详细信息请参考 NERtcMediaRelayParam.ChannelMediaRelayConfiguration
    返回
    0
    方法调用成功,其他调用失败。

◆ updateLiveStreamTask()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.updateLiveStreamTask ( NERtcLiveStreamTaskInfo  taskInfo,
UpdateLiveTaskCallback  updateLiveTaskCallback 
)
abstract

更新修改房间推流任务。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。
参数
taskInfo推流任务信息,详细信息请参考 live.NERtcLiveStreamTaskInfo
updateLiveTaskCallback操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 live.UpdateLiveTaskCallback
返回
0
方法调用成功 ,其他失败 。

该类的文档由以下文件生成: