NERtc Android SDK  V4.6.0
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 muteLocalAudioStream (boolean mute)
 
abstract int subscribeRemoteAudioStream (long uid, boolean subscribe)
 
abstract int subscribeAllRemoteAudioStreams (boolean subscribe)
 
abstract int setCameraCaptureConfig (NERtcCameraCaptureConfig captureConfig)
 
abstract int setLocalVideoConfig (NERtcVideoConfig videoConfig)
 
abstract int enableDualStreamMode (boolean enable)
 
abstract int setupLocalVideoCanvas (IVideoRender render)
 
abstract int setupRemoteVideoCanvas (IVideoRender render, long uid)
 
abstract int enableLocalVideo (boolean enable)
 
abstract int muteLocalVideoStream (boolean mute)
 
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 startLastmileProbeTest (LastmileProbeConfig config)
 
abstract int stopLastmileProbeTest ()
 
abstract int setRemoteHighPriorityAudioStream (boolean enabled, long uid)
 
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)可以创建 3 个不同的推流任务。
参数
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: 方法调用成功;
  • 其他: 方法调用失败。

◆ enableLocalVideo()

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

是否开启本地视频采集。

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

◆ 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:方法调用成功。
  • 其他:方法调用失败。

◆ 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 回调。
  • 直播场景中,观众角色可以通过 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 回调。

注解
  • 该方法是异步操作,调用返回时并没有真正退出频道。在真正退出房间后,SDK 会触发 onLeaveChannel 回调。
  • 如果在调用 leaveChannel 后立即调用 release,可能会无法正常离开房间。因此建议用户在收到 onLeaveChannel 回调之后再调用 release 释放会话相关所有资源。
返回
0
成功,其他失败.
参见
NERtcChannel::joinChannel(String)

◆ muteLocalAudioStream()

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

开关本地音频发送。
该方法用于允许或禁止上行本地音频流。

注解
  • 该方法不影响音频采集状态,因为并没有禁用音频采集设备。
  • 静音状态会在通话结束后被重置为非静音。
  • 成功调用该方法后,房间内其他用户会收到 onUserAudioMute 回调。
参数
mute是否开启本地音频发送。
  • true:(默认)静音本地音频。
  • false: 取消静音本地音频。
返回
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

◆ muteLocalVideoStream()

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

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

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

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

◆ setCameraCaptureConfig()

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

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

  • 需要采集并预览高清画质时,可以将采集偏好设置为 CAPTURE_PREFERENCE_OUTPUT_QUALITY,此时 SDK 会自动设置较高的摄像头输出参数,本地采集与预览画面比编码参数更加清晰。
  • 需要自定义设置摄像头采集的视频尺寸时,请通过参数 preference 将采集偏好设为 CAPTURE_PREFERENCE_MANUAL,并通过 NERtcCameraCaptureConfig 中的 captureWidth 和 captureHeight 自定义设置本地摄像头采集的视频宽高。
注解
  • 该方法可以在加入房间前后动态调用,设置成功后,会自动重启采集模块。
  • 设置更高的采集参数会导致更大的性能消耗,例如 CPU 和内存占用等,尤其是在开启视频前处理的场景下。
参数
captureConfig摄像头采集配置,详细信息请参考 video.NERtcCameraCaptureConfig
返回
0
方法调用成功,其他调用失败

◆ 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
返回
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()

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

设置视频编码属性。

  • 可以在加入房间前或加入房间后调用此接口。
  • NERtcVideoConfig 中的 videoProfile 可以指定预设的 Profile 模式,但是预设模式往往无法满足实际场景需求,网易云信建议您通过 widthheight 进行自定义设置。详细信息请参考设置视频属性
    注解
  • 该接口为全量参数配置接口,重复调用此接口时,SDK 会刷新此前的所有参数配置,以最新的传参为准。所以每次修改配置时都需要设置所有参数,未设置的参数将取默认值。
  • 每个属性对应一套视频参数,例如分辨率、帧率、码率等。 所有设置的参数均为理想情况下的最大值。
    当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
    参数
    videoConfig视频编码属性配置,详细信息请参考 video.NERtcVideoConfig
    返回
    0
    方法调用成功,其他调用失败

◆ 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
返回
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
    方法调用成功,其他调用失败

◆ startLastmileProbeTest()

abstract int com.netease.lava.nertc.sdk.channel.NERtcChannel.startLastmileProbeTest ( LastmileProbeConfig  config)
abstract

开始通话前网络质量探测。
启用该方法后,SDK 会通过回调方式反馈上下行网络的质量状态与质量探测报告,包括带宽、丢包率、网络抖动和往返时延等数据。一般用于通话前的网络质量探测场景,用户加入房间之前可以通过该方法预估音视频通话中本地用户的主观体验和客观网络状态。
相关回调如下:

  • onLastmileQuality:网络质量状态回调,以打分形式描述上下行网络质量的主观体验。该回调视网络情况在约 5 秒内返回。
  • onLastmileProbeResult:网络质量探测报告回调,报告中通过客观数据反馈上下行网络质量。该回调视网络情况在约 30 秒内返回。
注解
  • 请在加入房间(joinChannel)前调用此方法。
  • 调用该方法后,在收到 onLastmileQuality 和 onLastmileProbeResult 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。
参数
configLast mile 网络探测配置。
返回
  • 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
    方法调用成功,其他调用失败。

◆ stopLastmileProbeTest()

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

停止通话前网络质量探测。

返回
  • 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: 状态异常,可能是自动订阅打开,导致该接口无效。
  • 其他: 方法调用失败。

◆ 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
方法调用成功 ,其他失败 。

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