NERtc Android SDK  V4.6.61
Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
com.netease.lava.nertc.sdk.NERtc类 参考abstract
类 com.netease.lava.nertc.sdk.NERtc 继承关系图:
com.netease.lava.nertc.sdk.NERtcEx

Public 成员函数

abstract void init (Context context, String appkey, NERtcCallback callback, NERtcOption option) throws Exception
 
abstract void release ()
 
abstract int joinChannel (String token, String channelName, long uid)
 
abstract int updatePermissionKey (String key)
 
abstract int joinChannel (String token, String channelName, long uid, NERtcJoinChannelOptions channelOptions)
 
abstract int leaveChannel ()
 
abstract int enableLocalAudio (boolean enable)
 
abstract int subscribeRemoteAudioStream (long uid, boolean subscribe)
 
abstract int subscribeAllRemoteAudioStreams (boolean subscribe)
 
abstract int setAudioProfile (int profile, int scenario)
 
abstract int setLocalVideoConfig (NERtcVideoConfig videoConfig)
 
abstract int setLocalVideoConfig (NERtcVideoConfig videoConfig, NERtcVideoStreamType streamType)
 
abstract int setCameraCaptureConfig (NERtcCameraCaptureConfig captureConfig)
 
abstract int setCameraCaptureConfig (NERtcCameraCaptureConfig captureConfig, NERtcVideoStreamType streamType)
 
abstract int startVideoPreview ()
 
abstract int startVideoPreview (NERtcVideoStreamType streamType)
 
abstract int stopVideoPreview ()
 
abstract int stopVideoPreview (NERtcVideoStreamType streamType)
 
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 subscribeRemoteVideoStream (long uid, NERtcRemoteVideoStreamType streamType, boolean subscribe)
 
abstract void setParameters (NERtcParameters params) throws IllegalArgumentException
 
abstract String getParameter (String parameterKey, String extraInfo)
 

静态 Public 成员函数

static NERtc getInstance ()
 
static NERtcVersion version ()
 
static List< String > checkPermission (Context context)
 

详细描述

NERtc

成员函数说明

◆ checkPermission()

static List<String> com.netease.lava.nertc.sdk.NERtc.checkPermission ( Context  context)
static

检查音视频相关的多媒体设备权限。
通过本接口可以实现在音视频通话前,检查多媒体设备的权限,如相机、麦克风、扬声器、磁盘读写、网络权限等。

自从
V3.5.0
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
参数说明
参数名称 类型 描述
context Context 设备上下文。需要从应用层获取。
示例代码
List<String> missed = NERtc.checkPermission(getApplicationContext());
if (missed.size() != 0) {
List<String> showRationale = new ArrayList<>();
for (String permission : missed) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, permission)) {
showRationale.add(permission);
}
}
if (showRationale.size() > 0) {
new AlertDialog.Builder(MainActivity.this)
.setMessage("You need to allow some permission")
.setPositiveButton("OK", (dialog, which) -> ActivityCompat.requestPermissions(MainActivity.this, missed.toArray(new String[0]),
PERMISSION_REQUEST_CODE))
.setNegativeButton("Cancel", null)
.create()
.show();
} else {
ActivityCompat.requestPermissions(this, missed.toArray(new String[0]), PERMISSION_REQUEST_CODE);
}
}
返回
返回缺失的权限。

◆ enableLocalAudio()

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

开启或关闭本地音频的采集和发送。
通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。

自从
V3.5.0
调用时机
请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。
注解
  • 加入房间后,语音功能默认为开启状态。
  • 该方法设置内部引擎为启用状态,在 NERtc#leaveChannel() 后仍然有效。
  • 该方法不影响接收或播放远端音频流,enableLocalAudio(false) 适用于只下行不上行音频流的场景。
  • 自 V4.4.0 版本起,开启或关闭本地音频采集的操作不会影响伴音/音效接口的使用,比如 enableLocalAudio(false) 后仍可以调用 NERtcEx#startAudioMixing() 方法播放音乐文件。
  • 该方法会操作音频硬件设备,建议避免频繁开关,否则可能导致设备异常。
参数说明
参数名称 类型 描述
enable boolean 是否启用本地音频的采集和发送:
  • true:开启本地音频采集。
  • false:关闭本地音频采集。关闭后,远端用户会接收不到本地用户的音频流;但本地用户依然可以接收到远端用户的音频流。

示例代码
//打开音频采集
NERtcEx.getInstance().enableLocalAudio(true);
//关闭音频采集
NERtcEx.getInstance().enableLocalAudio(false);
相关回调
相关接口
NERtcEx#muteLocalAudioStream():两者的差异在于,enableLocalAudio 用于开启本地语音采集及处理,而 muteLocalAudioStream 用于停止或继续发送本地音频流。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。

◆ enableLocalVideo() [1/2]

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

开启或关闭本地视频的采集与发送。
通过本接口可以实现开启或关闭本地视频,不影响接收远端视频。

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

◆ enableLocalVideo() [2/2]

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

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

自从
V4.6.20
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 开启或关闭主流的设置,在切换房间(switchChannel)、主动离开房间(leaveChannel)、断网重连失败(onDisconnect)或重新加入房间(onReJoinChannel)后仍然有效。
  • 开启或关闭辅流的设置,在切换房间(switchChannel)或重新加入房间(onReJoinChannel)后仍然有效;但在主动离开房间(leaveChannel)或断网重连失败(onDisconnect)后,该接口设置失效,将恢复至默认视频源输入。
  • 在您的应用切到后台或者其他应用占用摄像头时,可能会导致摄像头打开失败,需要注册 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):当前状态不支持的操作,比如已开启外部视频采集。
    • 30011(ENGINE_ERROR_CREATE_DEVICE_SOURCE_FAIL):创建设备源失败,未获取到操作系统的摄像头权限。
    • 30027(ENGINE_ERROR_CAMERA_OCCUIPIED): 所选设备已被占用。比如已通过主流通道开启了摄像头,无法再通过辅流通道开启摄像头。
    • 30403(ENGINE_ERROR_MEDIA_BANNED): 已被服务器禁用视频。

◆ getInstance()

static NERtc com.netease.lava.nertc.sdk.NERtc.getInstance ( )
static

获取 NERtc 实例。

返回
NERtc 实例

com.netease.lava.nertc.sdk.NERtcEx 重载.

◆ getParameter()

abstract String com.netease.lava.nertc.sdk.NERtc.getParameter ( String  parameterKey,
String  extraInfo 
)
abstract

以String 的形式获取一些内部参数,此接口为隐藏接口,需要特定参数及特定时机,详情联系技术支持。

参数
parameterKey参数key
extraInfo额外的信息
返回
如果查询到相关参数,以String 形式返回,否则返回 null

◆ init()

abstract void com.netease.lava.nertc.sdk.NERtc.init ( Context  context,
String  appkey,
NERtcCallback  callback,
NERtcOption  option 
) throws Exception
abstract

创建 NERtc 实例。
通过本接口可以实现创建 NERtc 实例并初始化 NERTC SDK 服务。

自从
V3.5.0
调用时机
请确保在调用其他 API 前先调用该方法创建并初始化 NERtc 实例。
注解
  • 使用同一个 App Key 的 App 才能进入同一个房间进行通话或直播。
  • 一个 App Key 只能用于创建一个 NERtc 实例;若您需要更换 App Key,必须先调用 NERtc#release() 方法销毁当前实例,再调用本方法重新创建实例。
  • 创建实例时,如果参数设置错误,可能会出现 RuntimeException、UnsatisfiedLinkError 异常。
参数说明
参数名称 类型 描述
context Context 传入的 RTC engine context 对象。
appkey String 应用的 App Key。在 云信控制台 创建应用后,可以查看对应的 App Key。
callback NERtcCallback 回调函数。所有接口均在主线程上回调,您可继承简易实现 AbsNERtcCallbackEx 类,或自行选择实现 NERtcCallbackNERtcCallbackEx 等类。
option NERtcOption 其他可选配置。可设置为 null。
示例代码
NERtcOption option = new NERtcOption();
//设置detail_info打印更详细日志
option.logLevel = NERtcConstants.LogLevel.INFO;
String appKey = "...";
NERtcCallbackEx callback = new NERtcCallbackEx();
NERtcEx.getInstance().init(getApplicationContext(), appKey, callback, option);
相关接口
若您不再使用 NERtc 实例,需要调用 NERtc#release() 方法进行销毁。
返回
无返回值。

◆ joinChannel() [1/2]

abstract int com.netease.lava.nertc.sdk.NERtc.joinChannel ( String  token,
String  channelName,
long  uid 
)
abstract

加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。

自从
V3.5.0
调用时机
请在初始化后调用该方法。
注解
  • 调用 joinChannel 方法之后,NERTC SDK 会通过 Android 的 AudioManager.setMode() 方法调整音频模式(audio mode),此后请勿修改 SDK 调整过的音频模式,否则可能会导致音频路由错误等问题。
  • 加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。
  • 传参中 uid 可选,若不指定则默认为 0,SDK 会自动分配一个随机 uid,并在 NERtcCallback#onJoinChannel() 回调方法中返回;App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。
  • 同一个房间内的用户可以互相通话,多个用户加入同一个房间,可以群聊。使用不同 App Key 的 App 之间不能互通。
  • 用户成功加入房间后,默认订阅房间内所有其他用户的音频流,可能会因此产生用量并影响计费;若您想取消自动订阅,可以在通话前通过调用 NERtc#setParameters() 方法实现。
  • 网络测速过程中无法加入房间。
  • 若使用了云代理功能,uid 不允许传 0,请用真实的 uid。
参数说明
参数名称 类型 描述
token String 安全认证签名(NERTC Token),可以设置为:
  • null。调试模式下可设置为 null。安全性不高,建议在产品正式上线前在云信控制台中将鉴权方式恢复为默认的安全模式。
  • 已获取的NERTC Token。安全模式下必须设置为获取到的 Token 。若未传入正确的 Token 将无法进入房间。推荐使用安全模式。
channelName String 房间名称,设置相同房间名称的用户会进入同一个通话房间。
  • 字符串格式,长度为 1 ~ 64 字节。
  • 支持以下 89 个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~”
uid long 用户的唯一标识 ID。
示例代码
String serverToken = getTokenFromServer();
NERtcEx.getInstance().joinChannel(serverToken, "roomName", 3689);
相关接口
相关回调
成功调用该方法加入房间后,本地会触发 NERtcCallback#onJoinChannel() 回调,远端会触发 NERtcCallback#onUserJoined() 回调。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30001(ENGINE_ERROR_FATAL):重复入会或获取房间信息失败。
    • 30003(ENGINE_ERROR_INVALID_PARAM):参数错误,比如传入的 channelName 不符合要求。
    • 30005(ENGINE_ERROR_INVALID_STATE):状态错误,比如引擎尚未初始化或正在进行网络探测。

◆ joinChannel() [2/2]

abstract int com.netease.lava.nertc.sdk.NERtc.joinChannel ( String  token,
String  channelName,
long  uid,
NERtcJoinChannelOptions  channelOptions 
)
abstract

加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。

自从
V4.6.29
调用时机
请在初始化后调用该方法。
注解
  • 调用 joinChannel 方法之后,NERTC SDK 会通过 Android 的 AudioManager.setMode() 方法调整音频模式(audio mode),此后请勿修改 SDK 调整过的音频模式,否则可能会导致音频路由错误等问题。
  • 加入音视频房间时,如果指定房间尚未创建,云信服务器内部会自动创建一个同名房间。
  • 传参中 uid 可选,若不指定则默认为 0,SDK 会自动分配一个随机 uid,并在 NERtcCallback#onJoinChannel() 回调方法中返回;App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。
  • 同一个房间内的用户可以互相通话,多个用户加入同一个房间,可以群聊。使用不同 App Key 的 App 之间不能互通。
  • 用户成功加入房间后,默认订阅房间内所有其他用户的音频流,可能会因此产生用量并影响计费;若您想取消自动订阅,可以在通话前通过调用 NERtc#setParameters() 方法实现。
  • 网络测速过程中无法加入房间。
  • 若使用了云代理功能,uid 不允许传 0,请用真实的 uid。
参数说明
参数名称 类型 描述
token String 安全认证签名(NERTC Token),可以设置为:
  • null。调试模式下可设置为 null。安全性不高,建议在产品正式上线前在云信控制台中将鉴权方式恢复为默认的安全模式。
  • 已获取的NERTC Token。安全模式下必须设置为获取到的 Token 。若未传入正确的 Token 将无法进入房间。推荐使用安全模式。
channelName String 房间名称,设置相同房间名称的用户会进入同一个通话房间。
  • 字符串格式,长度为 1 ~ 64 字节。
  • 支持以下 89 个字符:a-z, A-Z, 0-9, space, !#$%&()+-:;≤.,>? @[]^_{|}~”
uid long 用户的唯一标识 ID。
channelOptions NERtcJoinChannelOptions 加入房间时设置一些特定的房间参数。默认值为 null。
示例代码
String serverToken = getTokenFromServer();
NERtcEx.getInstance().joinChannel(serverToken, "roomName", 3689);
相关接口
相关回调
成功调用该方法加入房间后,本地会触发 NERtcCallback#onJoinChannel() 回调,远端会触发 NERtcCallback#onUserJoined() 回调。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30001(ENGINE_ERROR_FATAL):重复入会或获取房间信息失败。
    • 30003(ENGINE_ERROR_INVALID_PARAM):参数错误,比如传入的 channelName 不符合要求。
    • 30005(ENGINE_ERROR_INVALID_STATE):状态错误,比如引擎尚未初始化或正在进行网络探测。

◆ leaveChannel()

abstract int com.netease.lava.nertc.sdk.NERtc.leaveChannel ( )
abstract

离开音视频房间。
通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。

自从
V3.5.0
调用时机
请在初始化并成功加入房间后调用该方法。
注解
结束通话时必须调用此方法离开房间,否则无法开始下一次通话。
示例代码
NERtcEx.getInstance().leaveChannel();
相关回调
成功调用该方法离开房间后,本地会触发 NERtcCallback#onLeaveChannel() 回调,远端会触发 NERtcCallback#onUserLeave() 回调。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):状态错误,比如引擎尚未初始化或正在进行网络探测。

◆ release()

abstract void com.netease.lava.nertc.sdk.NERtc.release ( )
abstract

销毁 NERtc 实例,释放资源。
该方法释放 NERTC SDK 使用的所有资源。有些 App 只在用户需要时才进行实时音视频通信,完成音视频通话后,则将资源释放出来用于其他操作,该方法适用于此类情况。

  • 该接口需要在调用 leaveChannel、并收到 onUserLeave 回调后调用。或收到 onDisconnect 回调、重连失败时调用此接口销毁实例,并释放资源。
  • 调用 release 方法后,您将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通话功能,您必须等待 release 方法执行结束后,重新创建一个新的 NERtc 实例。
    注解
  • NERtc#release() 方法需要和 NERtc#leaveChannel() 方法在同一线程中,且需要在 leaveChannel 后执行。如果在不同线程中并发调用此接口可能会引起应用崩溃。
  • 如果 init 初始化引擎失败,需要等待 release 同步返回后再次初始化引擎,否则重复初始化引擎,SDK 会抛出 RuntimeException。

◆ setAudioProfile()

abstract int com.netease.lava.nertc.sdk.NERtc.setAudioProfile ( int  profile,
int  scenario 
)
abstract

设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等,也可以设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。

自从
V3.5.0
调用时机
请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。
注解
音乐场景下,建议将 profile 设置为 HIGH_QUALITY。 若您通过 NERtcEx#setChannelProfile() 接口设置房间场景为直播模式,即 LIVE_BROADCASTING,但未调用此方法设置音频编码属性,或仅设置 profile 为 DEFAULT,则 SDK 会自动设置 profile 为 HIGH_QUALITY,且设置 scenario 为 MUSIC。
参数说明
参数名称 类型 描述
profile int 设置采样率、码率、编码模式和声道数。详细信息请参考 NERtcConstants.AudioProfile
scenario int 设置音频应用场景。详细信息请参考 NERtcConstants.AudioScenario
示例代码
//设置profile为标准模式,scenario为语音场景
NERtcEx.getInstance().setAudioProfile(NERtcConstants.AudioProfile.STANDARD, NERtcConstants.AudioScenario.SPEECH);
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30001(ENGINE_ERROR_FATAL):引擎内部错误。
    • 30003(ENGINE_ERROR_INVALID_PARAM):参数错误,比如 profile、scenario 设置的值有误。

◆ setCameraCaptureConfig() [1/2]

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

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

自从
V4.5.0
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
业务场景
在视频通话或直播中,SDK 自动控制摄像头的输出参数。默认情况下,SDK 会根据用户该接口的配置匹配最合适的分辨率进行采集。但是在部分业务场景中,如果采集画面质量无法满足实际需求,可以调用该接口调整摄像头的采集配置。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 该方法仅适用于视频主流,若您希望为辅流通道设置摄像头的采集配置,请调用 NERtc#setCameraCaptureConfig(NERtcCameraCaptureConfig captureConfig, NERtcVideoStreamType streamType) 方法。
  • 该方法支持在加入房间后动态调用,设置成功后,会自动重启摄像头采集模块。
  • 若系统相机不支持您设置的分辨率,会自动调整为最相近一档的分辨率,因此建议您设置为常规标准的分辨率。
  • 设置较高的采集分辨率会增加性能消耗,例如 CPU 和内存占用等,尤其是在开启视频前处理的场景下。
参数说明
参数名称 类型 描述
captureConfig video.NERtcCameraCaptureConfig 本地摄像头采集配置。
示例代码
NERtcCameraCaptureConfig capConfig = new NERtcCameraCaptureConfig();
capConfig.captureWidth = 1080;
capConfig.captureHeight = 720;
NERtcEx.getInstance().setCameraCaptureConfig(capConfig);
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30003(ENGINE_ERROR_INVALID_PARAM):参数错误,比如 captureConfig 设置为空。
    • 30004(ENGINE_ERROR_NOT_SUPPORTED):不支持的操作,比如当前使用的是纯音频 SDK。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎未初始化成功。

◆ setCameraCaptureConfig() [2/2]

abstract int com.netease.lava.nertc.sdk.NERtc.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):当前状态不支持的操作,比如引擎未初始化成功。

◆ setLocalVideoConfig() [1/2]

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

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

自从
V3.5.0
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 每个属性对应一套视频参数,例如分辨率、帧率、码率等。所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
  • 此接口为全量参数配置接口,重复调用此接口时,SDK 会刷新此前的所有参数配置,以最新的传参为准。所以每次修改配置时都需要设置所有参数,未设置的参数将取默认值。
参数说明
参数名称 类型 描述
videoConfig video.NERtcVideoConfig 视频编码属性配置。
示例代码
//设置本地视频主流编码参数
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);
相关接口
若您希望为视频辅流通道设置编码属性,请调用 NERtc#setLocalVideoConfig(NERtcVideoConfig videoConfig, NERtcVideoStreamType streamType) 方法。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。

◆ setLocalVideoConfig() [2/2]

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

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

自从
V4.6.20
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 每个属性对应一套视频参数,例如分辨率、帧率、码率等。所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
  • 此接口为全量参数配置接口,重复调用此接口时,SDK 会刷新此前的所有参数配置,以最新的传参为准。所以每次修改配置时都需要设置所有参数,未设置的参数将取默认值。
参数说明
参数名称 类型 描述
streamType boolean 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
videoConfig video.NERtcVideoConfig 视频编码属性配置。
示例代码
//设置本地视频主流编码参数
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):当前状态不支持的操作,比如引擎未初始化成功。

◆ setParameters()

abstract void com.netease.lava.nertc.sdk.NERtc.setParameters ( NERtcParameters  params) throws IllegalArgumentException
abstract

设置音视频通话的相关参数。
此接口提供技术预览或特别定制功能,详情请咨询技术支持。

自从
V3.5.0
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
参数说明
参数名称 类型 描述
params NERtcParameters 音视频通话的参数集合。
示例代码
NERtcParameters rtrcParameters = new NERtcParameters();
rtrcParameters.set(NERtcParameters.KEY_AUTO_SUBSCRIBE_VIDEO, true)
rtrcParameters.set(NERtcParameters.KEY_VIDEO_ENCODE_MODE,MediaCodecMode.MEDIA_CODEC_SOFTWARE);
...
NERtcEx.getInstance().setParameters(rtrcParameters);
返回
无返回值。

◆ setupLocalVideoCanvas()

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

设置本地用户视图。
通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。

自从
V3.5.0
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 在实际业务中,通常建议在初始化后即调用该方法进行本地视图设置,然后再加入房间或开启预览。
  • 在无需使用画布时,建议及时释放之前的画布,否则可能会引起系统 EGL 资源耗尽而导致程序崩溃。
参数说明
参数名称 类型 描述
render IVideoRender 本地用户视频的画布。设置为 NULL 表示取消并释放已设置的画布,详细信息请参考 video.NERtcVideoView
示例代码
NERtcVideoView videoRender = xxx;
//设置本地视频画布
NERtcEx.getInstance().setupLocalVideoCanvas(videoRender);
//不需要时用时释放画布
NERtcEx.getInstance().setupLocalVideoCanvas(null);
相关接口
若您希望在通话中更新本地用户视图的渲染或镜像模式,请使用 NERtcVideoView#setScalingType(int) 方法。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎尚未初始化。

◆ setupRemoteVideoCanvas()

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

设置远端用户视图。
通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。

自从
V3.5.0
调用时机
请在初始化后调用该方法,且该方法在加入房间前后均可调用。
注解
您可以通过设置 render 参数为空以解除远端用户视图绑定;退出房间后,SDK 也会主动清除远端用户和视图的绑定关系。
参数说明
参数名称 类型 描述
render IVideoRender 远端用户视频的画布。详细信息请参考 video.NERtcVideoView
uid long 远端用户的 ID。可以在 NERtcCallback#onUserJoined() 回调中获取。
示例代码
int remoteUID = 12345;
NERtcVideoView view = getRemoteRenderView();
//绑定画布
NERtcEx.getInstance().setupRemoteVideoCanvas(view, remoteUID);
//退出房间主动解绑
NERtcEx.getInstance().setupRemoteVideoCanvas(null, remoteUID);
相关接口
若您希望在通话中更新远端用户视图的渲染模式,请调用 NERtcVideoView#setScalingType(int) 方法。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(kNERtcErrInvalidState):当前状态不支持的操作,比如引擎尚未初始化。

◆ startVideoPreview() [1/2]

abstract int com.netease.lava.nertc.sdk.NERtc.startVideoPreview ( )
abstract

开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。

自从
V3.5.0
使用前提
请在通过 NERtc#setupLocalVideoCanvas(IVideoRender render) 接口设置视频画布后调用该方法。
调用时机
请在初始化后调用该方法,且该方法仅可当不在房间内时可调用。
业务场景
适用于加入房间前检查设备状态是否可用、预览视频效果等场景。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 在加入房间前预览视频效果时设置的美颜、虚拟背景等视频效果在房间内仍然生效;在房间内设置的视频效果在退出房间后预览视频时也可生效。
示例代码
//开启视频预览
NERtcEx.getInstance().startVideoPreview();
相关接口
该方法仅适用于视频主流,若您希望开启辅流通道的视频预览,请调用 NERtc#startVideoPreview(NERtcVideoStreamType streamType) 方法。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30004(ENGINE_ERROR_NOT_SUPPORTED):不支持的操作,比如已经加入房间。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎未初始化成功。
    • 30008(ENGINE_ERROR_DEVICE_NOT_FOUND):未找到设备。
    • 30011(ENGINE_ERROR_CREATE_DEVICE_SOURCE_FAIL):创建设备源失败。
    • 30027(ENGINE_ERROR_CAMERA_OCCUIPIED): 所选设备已被占用,比如已通过主流通道开启了摄像头,无法再通过辅流通道开启摄像头预览。

◆ startVideoPreview() [2/2]

abstract int com.netease.lava.nertc.sdk.NERtc.startVideoPreview ( NERtcVideoStreamType  streamType)
abstract

开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。

自从
V4.6.20
使用前提
请在通过 NERtc#setupLocalVideoCanvas(IVideoRender render) 接口设置视频画布后调用该方法。
调用时机
请在初始化后调用该方法,且该方法仅可当不在房间内时可调用。
业务场景
适用于加入房间前检查设备状态是否可用、预览视频效果等场景。
注解
  • 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
  • 在加入房间前预览视频效果时设置的美颜、虚拟背景等视频效果在房间内仍然生效;在房间内设置的视频效果在退出房间后预览视频时也可生效。
参数说明
参数名称 类型 描述
streamType video.NERtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
示例代码
//开启主流视频通道预览
NERtcEx.getInstance().startVideoPreview(NERtcVideoStreamType.kNERtcVideoStreamTypeMain);
//开启辅流视频通道预览
NERtcEx.getInstance().startVideoPreview(NERtcVideoStreamType.kNERtcVideoStreamTypeSub);
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30004(ENGINE_ERROR_NOT_SUPPORTED):不支持的操作,比如已经加入房间。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎未初始化成功。
    • 30008(ENGINE_ERROR_DEVICE_NOT_FOUND):未找到设备。
    • 30011(ENGINE_ERROR_CREATE_DEVICE_SOURCE_FAIL):创建设备源失败。
    • 30027(ENGINE_ERROR_CAMERA_OCCUIPIED): 所选设备已被占用,比如已通过主流通道开启了摄像头,无法再通过辅流通道开启摄像头预览。

◆ stopVideoPreview() [1/2]

abstract int com.netease.lava.nertc.sdk.NERtc.stopVideoPreview ( )
abstract

停止视频预览。
通过此接口可以实现在预览本地视频后关闭预览。

自从
V3.5.0
使用前提
建议在通过 NERtc#startVideoPreview(NERtcVideoStreamType streamType) 接口开启视频预览后调用该方法。
调用时机
请在初始化后调用该方法,且该方法仅可当不在房间内时可调用。
注解
示例代码
NERtcEx.getInstance().stopVideoPreview();
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎未初始化或已经加入房间。

◆ stopVideoPreview() [2/2]

abstract int com.netease.lava.nertc.sdk.NERtc.stopVideoPreview ( NERtcVideoStreamType  streamType)
abstract

停止视频预览。
通过本接口可以实现在预览本地视频后关闭预览。

自从
V4.6.20
使用前提
建议在通过 NERtc#startVideoPreview(NERtcVideoStreamType streamType) 接口开启视频预览后调用该方法。
调用时机
请在初始化后调用该方法,且该方法仅可当不在房间内时可调用。
注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数说明
参数名称 类型 描述
streamType video.NERtcVideoStreamType 视频通道类型:
  • kNERtcVideoStreamTypeMain:主流。
  • kNERtcVideoStreamTypeSub:辅流。
示例代码
//关闭主流视频通道预览
NERtcEx.getInstance().stopVideoPreview(NERtcVideoStreamType.kNERtcVideoStreamTypeMain);
//关闭辅流视频通道预览
NERtcEx.getInstance().stopVideoPreview(NERtcVideoStreamType.kNERtcVideoStreamTypeSub);
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):当前状态不支持的操作,比如引擎未初始化成功或已经加入房间。

◆ subscribeAllRemoteAudioStreams()

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

取消或恢复订阅所有远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,您可以通过本接口取消订阅所有远端用户的音频主流。

自从
V3.5.0
调用时机
请在引擎初始化之后调用此接口,且该方法在加入房间前后均可调用。
业务场景
适用于重要会议需要一键全体静音的场景。
注解
设置该方法的 subscribe 参数为 true 后,对后续加入房间的用户同样生效。 在开启自动订阅(默认)时,设置该方法的 subscribe 参数为 false 可以实现取消订阅所有远端用户的音频流,但此时无法再调用 NERtc#subscribeRemoteAudioStream() 方法单独订阅指定远端用户的音频流。
参数说明
参数名称 类型 描述
subscribe boolean 是否订阅所有用户的音频主流:
  • true:订阅音频主流。
  • false:取消订阅音频主流。
示例代码
//订阅所有远端用户的音频主流
NERtcEx.getInstance().subscribeAllRemoteAudioStreams(true);
//取消订阅所有远端用户的音频主流
NERtcEx.getInstance().subscribeAllRemoteAudioStreams(false);
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):引擎未初始化。
    • 30105(ENGINE_ERROR_USER_NOT_FOUND):未找到指定用户。
    • 30106(ENGNE_ERROR_INVALID_USERID):非法指定用户,比如订阅了本端。
    • 30107(ENGINE_ERROR_MEDIA_NOT_STARTED):媒体会话未建立,比如对端未开启音频主流。
    • 30108(ENGINE_ERROR_SOURCE_NOT_FOUND):媒体源未找到,比如对端未开启音频主流。
    • 30101(ENGINE_ERROR_ROOM_NOT_JOINED): 尚未加入房间。

◆ subscribeRemoteAudioStream()

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

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

自从
V3.5.0
调用时机
该方法仅在加入房间后收到远端用户开启音频主流的回调 AbsNERtcCallbackEx#onUserAudioStart() 后可调用。
业务场景
适用于需要手动订阅指定用户音频流的场景。
注解
该方法设置内部引擎为启用状态,在 NERtc#leaveChannel() 后设置失效,将恢复至默认。 在开启音频自动订阅且未打开服务端 ASL 自动选路的情况下,调用该接口无效。
参数说明
参数名称 类型 描述
uid long 指定用户的 ID。
subscribe boolean 是否订阅指定用户的音频主流:
  • true:订阅音频主流。
  • false:取消订阅音频主流。
示例代码
//订阅对方uid为12345的音频主流
NERtcEx.getInstance().subscribeRemoteAudioStream(12345, true);
//取消订阅对方uid为12345的音频主流
NERtcEx.getInstance().subscribeRemoteAudioStream(12345, false);
相关接口
若您希望订阅指定远端用户的音频辅流,请调用 NERtcEx#subscribeRemoteSubStreamAudio() 方法。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30004(ENGINE_ERROR_NOT_SUPPORTED):不支持该操作,由于开启了音频自动订阅且未打开服务端 ASL 自动选路。
    • 30005(ENGINE_ERROR_INVALID_STATE):引擎未初始化。
    • 30105(ENGINE_ERROR_USER_NOT_FOUND):未找到指定用户。
    • 30106(ENGNE_ERROR_INVALID_USERID):非法指定用户,比如订阅了本端。
    • 30107(ENGINE_ERROR_MEDIA_NOT_STARTED):媒体会话未建立,比如对端未开启音频主流。
    • 30108(ENGINE_ERROR_SOURCE_NOT_FOUND):媒体源未找到,比如对端未开启音频主流。
    • 30101(ENGINE_ERROR_ROOM_NOT_JOINED): 尚未加入房间。

◆ subscribeRemoteVideoStream()

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

订阅或取消订阅指定远端用户的视频主流。
加入房间后,默认不订阅所有远端用户的视频主流;若您希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频主流。

自从
V3.5.0
调用时机
请在初始化后调用该方法,且该方法仅可在加入房间后调用。
参数说明
参数名称 类型 描述
uid long 指定用户的 ID。
streamType video.NERtcRemoteVideoStreamType 订阅的视频流类型:
  • kNERtcRemoteVideoStreamTypeHigh:高清画质的大流。
  • kNERtcRemoteVideoStreamTypeLow:低清画质的小流。
subscribe boolean 是否订阅远端用户的视频流:
  • true:订阅指定视频流。
  • false:不订阅指定视频流。
示例代码
//订阅对方uid为12345的大流
NERtcEx.getInstance().subscribeRemoteVideoStream(12345, NERtcRemoteVideoStreamType.kNERtcRemoteVideoStreamTypeHigh,true);
相关接口
若您希望订阅指定远端用户的视频辅流,请调用 NERtcEx#subscribeRemoteSubStreamVideo() 方法。
返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):状态错误,比如引擎未初始化或未加入房间。
    • 30009(ENGINE_ERROR_INVALID_DEVICE_SOURCEID):设备 ID 非法。
    • 30105(ENGINE_ERROR_USER_NOT_FOUND):未找到指定用户。
    • 30106(ENGNE_ERROR_INVALID_USERID):非法指定用户,比如订阅了本端。
    • 30107(ENGINE_ERROR_MEDIA_NOT_STARTED):媒体会话未建立,比如对端未开启视频主流。
    • 30108(ENGINE_ERROR_SOURCE_NOT_FOUND):媒体源未找到,比如对端未开启视频主流。

◆ updatePermissionKey()

abstract int com.netease.lava.nertc.sdk.NERtc.updatePermissionKey ( String  key)
abstract

更新权限密钥。

  • 通过此接口可以实现当用户权限被变更,或者收到权限密钥即将过期的回调 NERtcCallbackEx#onPermissionKeyWillExpire() 时,更新权限密钥。
    自从
    V4.6.29
    使用前提
    请确保已开通高级 Token 鉴权功能,具体请联系网易云信商务经理。
    调用时机
    请在引擎初始化之后调用此接口,且该方法仅可在加入房间后调用。
    业务场景
    适用于变更指定用户加入、创建房间或上下麦时发布流相关权限的场景。
    参数说明
    参数名称 类型 描述
    key String 新的权限密钥。

    示例代码
    //getPermToken为获取高级密钥方法,由您自行实现,具体请参考官方文档的高级 Token 鉴权章节。</a>
    String permToken = getPermToken();
    NERtcEx.getInstance().updatePermissionKey(permToken);
    相关回调
    调用此接口成功更新权限密钥后会触发 NERtcCallbackEx#onUpdatePermissionKey() 回调。
    返回
  • 0(OK):方法调用成功。
  • 其他:方法调用失败。
    • 30005(ENGINE_ERROR_INVALID_STATE):状态错误,比如引擎尚未初始化。

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