NERtc Android SDK V5.6.25
|
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 | joinChannel (String token, String channelName, long uid, NERtcJoinChannelOptions channelOptions) |
abstract int | updatePermissionKey (String key) |
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 | setAudioProfile (int profile) |
abstract int | setAudioScenario (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
|
static |
检查音视频相关的多媒体设备权限。
通过本接口可以实现在音视频通话前,检查多媒体设备的权限,如相机、麦克风、扬声器、磁盘读写、网络权限等。
参数名称 | 类型 | 描述 |
---|---|---|
context | Context | 设备上下文。需要从应用层获取。 |
|
abstract |
开启或关闭本地音频的采集和发送。
通过本接口可以实现开启或关闭本地语音功能,进行本地音频采集及处理。
NERtc#leaveChannel()
后仍然有效。NERtcEx#startAudioMixing()
方法播放音乐文件。参数名称 | 类型 | 描述 |
---|---|---|
enable | boolean | 是否启用本地音频的采集和发送:
|
NERtcCallback#onUserAudioStart()
回调。NERtcCallback#onUserAudioStop()
回调。 NERtcEx#muteLocalAudioStream()
:两者的差异在于,enableLocalAudio 用于开启本地语音采集及处理,而 muteLocalAudioStream 用于停止或继续发送本地音频流。
|
abstract |
开启或关闭本地视频的采集与发送。
通过本接口可以实现开启或关闭本地视频,不影响接收远端视频。
NERtc#leaveChannel()
后仍然有效。参数名称 | 类型 | 描述 |
---|---|---|
enable | boolean | 是否开启本地视频采集与发送:
|
AbsNERtcCallbackEx#onUserVideoStart()
回调。AbsNERtcCallbackEx#onUserVideoStop()
回调。 NERtc#enableLocalVideo(NERtcVideoStreamType streamType, boolean enable)
方法。
|
abstract |
开启或关闭本地视频的采集与发送。
通过主流或辅流视频通道进行本地视频流的采集与发送。
NERtc#leaveChannel()
后仍然有效。参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
enable | boolean | 是否开启本地视频采集与发送:
|
AbsNERtcCallbackEx#onUserVideoStart()
回调。AbsNERtcCallbackEx#onUserVideoStop()
回调。NERtcCallbackEx#onUserSubStreamVideoStart()
回调。NERtcCallbackEx#onUserSubStreamVideoStop()
回调。
|
static |
|
abstract |
以 String 的形式获取一些内部参数,此接口为隐藏接口,需要特定参数及特定时机,详情请 提交工单 联系网易云信技术支持工程师。
parameterKey | 参数 key |
extraInfo | 额外的信息 |
|
abstract |
创建 NERtc 实例。
通过本接口可以实现创建 NERtc 实例并初始化 NERTC SDK 服务。
NERtc#release()
方法销毁当前实例,再调用本方法重新创建实例。参数名称 | 类型 | 描述 |
---|---|---|
context | Context | 传入的 RTC engine context 对象。 |
appkey | String | 应用的 App Key。在 网易云信控制台 创建应用后,可以查看对应的 App Key。 |
callback | NERtcCallback | 回调函数。所有接口均在主线程上回调,您可继承简易实现 AbsNERtcCallbackEx 类,或自行选择实现 NERtcCallback 、NERtcCallbackEx 等类。 |
option | NERtcOption | 其他可选配置。可设置为 null。 |
NERtc#release()
方法进行销毁。
|
abstract |
加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
NERtcCallback#onJoinChannel()
回调方法中返回;App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。NERtc#setParameters()
方法实现。参数名称 | 类型 | 描述 |
---|---|---|
token | String | 安全认证签名(NERTC Token),可以设置为:
|
channelName | String | 房间名称,设置相同房间名称的用户会进入同一个通话房间。
|
uid | long | 用户的唯一标识 ID。 |
NERtc#leaveChannel()
方法离开房间。NERtcEx#switchChannel()
接口切换房间。 NERtcCallback#onJoinChannel()
回调,远端会触发 NERtcCallback#onUserJoined()
回调。
|
abstract |
加入音视频房间。
通过本接口可以实现加入音视频房间,加入房间后可以与房间内的其他用户进行音视频通话。
NERtcCallback#onJoinChannel()
回调方法中返回;App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。NERtc#setParameters()
方法实现。参数名称 | 类型 | 描述 |
---|---|---|
token | String | 安全认证签名(NERTC Token),可以设置为:
|
channelName | String | 房间名称,设置相同房间名称的用户会进入同一个通话房间。
|
uid | long | 用户的唯一标识 ID。 |
channelOptions | NERtcJoinChannelOptions | 加入房间时设置一些特定的房间参数。默认值为 null。 |
NERtc#leaveChannel()
方法离开房间。NERtcEx#switchChannel()
接口切换房间。 NERtcCallback#onJoinChannel()
回调,远端会触发 NERtcCallback#onUserJoined()
回调。
|
abstract |
离开音视频房间。
通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
NERtcCallback#onLeaveChannel()
回调,远端会触发 NERtcCallback#onUserLeave()
回调。
|
abstract |
销毁 NERtc 实例,释放资源。
该方法释放 NERTC SDK 使用的所有资源。有些 App 只在用户需要时才进行实时音视频通信,完成音视频通话后,则将资源释放出来用于其他操作,该方法适用于此类情况。
leaveChannel
、并收到 onUserLeave
回调后调用。或收到 onDisconnect
回调、重连失败时调用此接口销毁实例,并释放资源。release
方法后,您将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通话功能,您必须等待 release
方法执行结束后,重新创建一个新的 NERtc 实例。 NERtc#release()
方法需要和 NERtc#leaveChannel()
方法在同一线程中,且需要在 leaveChannel 后执行。如果在不同线程中并发调用此接口可能会引起应用崩溃。init
初始化引擎失败,需要等待 release
同步返回后再次初始化引擎,否则重复初始化引擎,SDK 会抛出 RuntimeException。
|
abstract |
设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等。
参数名称 | 类型 | 描述 |
---|---|---|
profile | int | 设置采样率、码率、编码模式和声道数。详细信息请参考 NERtcConstants.AudioProfile 。 |
|
abstract |
设置音频编码属性。
通过此接口可以实现设置音频编码的采样率、码率、编码模式、声道数等,也可以设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。
NERtcEx#setChannelProfile()
接口设置房间场景为直播模式,即 LIVE_BROADCASTING,但未调用此方法设置音频编码属性,或仅设置 profile 为 DEFAULT,则 SDK 会自动设置 profile 为 HIGH_QUALITY,且设置 scenario 为 MUSIC。 参数名称 | 类型 | 描述 |
---|---|---|
profile | int | 设置采样率、码率、编码模式和声道数。详细信息请参考 NERtcConstants.AudioProfile 。 |
scenario | int | 设置音频应用场景。详细信息请参考 NERtcConstants.AudioScenario 。 |
|
abstract |
设置音频应用场景
通过此接口可以实现设置音频属性的应用场景,包括聊天室场景、语音场景、音乐场景等。
参数名称 | 类型 | 描述 |
---|---|---|
scenario | int | 设置音频应用场景。详细信息请参考 NERtcConstants.AudioScenario 。 |
|
abstract |
设置本地摄像头的视频主流采集配置。
通过此接口可以设置本地摄像头采集的主流视频宽度、高度、旋转角度等。
NERtc#setCameraCaptureConfig(NERtcCameraCaptureConfig captureConfig, NERtcVideoStreamType streamType)
方法。参数名称 | 类型 | 描述 |
---|---|---|
captureConfig | video.NERtcCameraCaptureConfig | 本地摄像头采集配置。 |
|
abstract |
设置本地摄像头的视频主流或辅流采集配置。
通过此接口可以设置本地摄像头采集的主流或辅流视频宽度、高度、旋转角度等。
参数名称 | 类型 | 描述 |
---|---|---|
captureConfig | video.NERtcCameraCaptureConfig | 本地摄像头采集配置。 |
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
|
abstract |
设置视频编码属性。
通过此接口可以设置视频主流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考 设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
videoConfig | video.NERtcVideoConfig | 视频编码属性配置。 |
NERtc#setLocalVideoConfig(NERtcVideoConfig videoConfig, NERtcVideoStreamType streamType)
方法。
|
abstract |
设置视频编码属性。
通过此接口可以设置视频主流或辅流的编码分辨率、裁剪模式、码率、帧率、带宽受限时的视频编码降级偏好、编码的镜像模式、编码的方向模式参数,详细信息请参考 设置视频属性。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | boolean | 视频通道类型:
|
videoConfig | video.NERtcVideoConfig | 视频编码属性配置。 |
|
abstract |
设置音视频通话的相关参数。
此接口提供技术预览或特别定制功能,详情请 提交工单 联系网易云信技术支持工程师。
参数名称 | 类型 | 描述 |
---|---|---|
params | NERtcParameters | 音视频通话的参数集合。 |
|
abstract |
设置本地用户视图。
通过本接口可以实现绑定本地用户和显示视图,并设置本地用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
render | IVideoRender | 本地用户视频的画布。设置为 NULL 表示取消并释放已设置的画布,详细信息请参考 video.NERtcVideoView 。 |
NERtcVideoView#setScalingType(int)
方法。
|
abstract |
设置远端用户视图。
通过本接口可以实现绑定远端用户和显示视图,并设置远端用户视图在本地显示时的镜像模式和裁减比例,只影响本地用户看到的视频画面。
参数名称 | 类型 | 描述 |
---|---|---|
render | IVideoRender | 远端用户视频的画布。详细信息请参考 video.NERtcVideoView 。 |
uid | long | 远端用户的 ID。可以在 NERtcCallback#onUserJoined() 回调中获取。 |
NERtcVideoView#setScalingType(int)
方法。
|
abstract |
开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
NERtc#setupLocalVideoCanvas(IVideoRender render)
接口设置视频画布后调用该方法。 NERtc#startVideoPreview(NERtcVideoStreamType streamType)
方法。
|
abstract |
开启视频预览。
通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
NERtc#setupLocalVideoCanvas(IVideoRender render)
接口设置视频画布后调用该方法。 参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
|
abstract |
停止视频预览。
通过此接口可以实现在预览本地视频后关闭预览。
NERtc#startVideoPreview(NERtcVideoStreamType streamType)
接口开启视频预览后调用该方法。 NERtc#stopVideoPreview(NERtcVideoStreamType streamType)
方法。
|
abstract |
停止视频预览。
通过本接口可以实现在预览本地视频后关闭预览。
NERtc#startVideoPreview(NERtcVideoStreamType streamType)
接口开启视频预览后调用该方法。 参数名称 | 类型 | 描述 |
---|---|---|
streamType | video.NERtcVideoStreamType | 视频通道类型:
|
|
abstract |
取消或恢复订阅所有远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,即 NERtc#setParameters()
方法的 KEY_AUTO_SUBSCRIBE_AUDIO 参数默认设置为 true;只有当该参数的设置为 false 时,此接口的调用才会生效。
NERtc#subscribeRemoteAudioStream()
方法单独订阅指定远端用户的音频流。 参数名称 | 类型 | 描述 |
---|---|---|
subscribe | boolean | 是否订阅所有用户的音频主流:
|
|
abstract |
取消或恢复订阅指定远端用户的音频主流。
加入房间时,默认订阅所有远端用户的音频主流,您也可以通过此方法取消或恢复订阅指定远端用户的音频主流。
AbsNERtcCallbackEx#onUserAudioStart()
后可调用。 NERtc#leaveChannel()
后设置失效,将恢复至默认。 在开启音频自动订阅且未打开服务端 ASL 自动选路的情况下,调用该接口无效。 参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 指定用户的 ID。 |
subscribe | boolean | 是否订阅指定用户的音频主流:
|
NERtcEx#subscribeRemoteSubStreamAudio()
方法。
|
abstract |
订阅或取消订阅指定远端用户的视频主流。
加入房间后,默认不订阅所有远端用户的视频主流;若您希望看到指定远端用户的视频,可以在监听到对方加入房间或发布视频流之后,通过此方法订阅该用户的视频主流。
参数名称 | 类型 | 描述 |
---|---|---|
uid | long | 指定用户的 ID。 |
streamType | video.NERtcRemoteVideoStreamType | 订阅的视频流类型:
|
subscribe | boolean | 是否订阅远端用户的视频流:
|
NERtcEx#subscribeRemoteSubStreamVideo()
方法。
|
abstract |
更新权限密钥。
NERtcCallbackEx#onPermissionKeyWillExpire()
时,更新权限密钥。 参数名称 | 类型 | 描述 |
---|---|---|
key | String | 新的权限密钥。 |
NERtcCallbackEx#onUpdatePermissionKey()
回调。
|
static |
查询 SDK 版本号。
该方法在加入房间前后都能调用。
NERtcVersion
版本号