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

Public 成员函数

abstract int muteLocalAudioStream (boolean mute)
 
abstract int muteLocalVideoStream (boolean mute)
 
abstract int sendSEIMsg (String seiMsg, NERtcVideoStreamType streamType)
 
abstract int sendSEIMsg (String seiMsg)
 
abstract int switchCamera ()
 
abstract boolean isCameraZoomSupported ()
 
abstract void setCameraZoomFactor (int zoomValue)
 
abstract int getCameraCurrentZoom ()
 
abstract int getCameraMaxZoom ()
 
abstract boolean isCameraTorchSupported ()
 
abstract int setCameraTorchOn (boolean on)
 
abstract boolean isCameraExposurePositionSupported ()
 
abstract int setCameraExposurePosition (float x, float y)
 
abstract boolean isCameraFocusSupported ()
 
abstract int setCameraFocusPosition (float x, float y)
 
abstract boolean isSpeakerphoneOn ()
 
abstract int setSpeakerphoneOn (boolean enable)
 
abstract int setAudioFocusMode (int focusMode)
 
abstract int startAudioDump ()
 
abstract int stopAudioDump ()
 
abstract int setAudioEffectPreset (int preset)
 
abstract int setVoiceBeautifierPreset (int preset)
 
abstract int setLocalVoicePitch (double pitch)
 
abstract int setLocalVoiceEqualization (int bandFrequency, int bandGain)
 
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 subscribeRemoteSubStreamVideo (long uid, boolean subscribe)
 
abstract void setExternalVideoSource (boolean enable)
 
abstract boolean pushExternalVideoFrame (NERtcVideoFrame frame)
 
abstract int setExternalAudioSource (boolean enabled, int sample_rate, int channels)
 
abstract int pushExternalAudioFrame (NERtcAudioExternalFrame frame)
 
abstract int setExternalAudioRender (boolean enable, int sampleRate, int channels)
 
abstract int pullExternalAudioFrame (ByteBuffer buffer, int len)
 
abstract void setVideoCallback (NERtcVideoCallback videoCallback, boolean textureWithI420)
 
abstract int setAudioFrameObserver (NERtcAudioFrameObserver observer)
 
abstract int setAudioProcessObserver (NERtcAudioProcessObserver audioProcessObserver)
 
abstract int setRecordingAudioFrameParameters (NERtcAudioFrameRequestFormat format)
 
abstract int setPlaybackAudioFrameParameters (NERtcAudioFrameRequestFormat format)
 
abstract int setMixedAudioFrameParameters (NERtcAudioFrameRequestFormat format)
 
abstract void postOnGLThread (Runnable runnable)
 
abstract void setStatsObserver (NERtcStatsObserver statsObserver)
 
abstract int enableAudioVolumeIndication (boolean enable, int interval)
 
abstract int adjustRecordingSignalVolume (int volume)
 
abstract int adjustPlaybackSignalVolume (int volume)
 
abstract int startAudioMixing (NERtcCreateAudioMixingOption option)
 
abstract int stopAudioMixing ()
 
abstract int pauseAudioMixing ()
 
abstract int resumeAudioMixing ()
 
abstract int setAudioMixingSendVolume (int volume)
 
abstract int getAudioMixingSendVolume ()
 
abstract int setAudioMixingPlaybackVolume (int volume)
 
abstract int getAudioMixingPlaybackVolume ()
 
abstract long getAudioMixingDuration ()
 
abstract long getAudioMixingCurrentPosition ()
 
abstract int setAudioMixingPosition (long position)
 
abstract int playEffect (int effectId, NERtcCreateAudioEffectOption option)
 
abstract int stopEffect (int effectId)
 
abstract int stopAllEffects ()
 
abstract int pauseEffect (int effectId)
 
abstract int resumeEffect (int effectId)
 
abstract int pauseAllEffects ()
 
abstract int resumeAllEffects ()
 
abstract int setEffectSendVolume (int effectId, int volume)
 
abstract int getEffectSendVolume (int effectId)
 
abstract int setEffectPlaybackVolume (int effectId, int volume)
 
abstract int getEffectPlaybackVolume (int effectId)
 
abstract int enableEarback (boolean enabled, int volume)
 
abstract int setEarbackVolume (int volume)
 
abstract int setPlayoutDeviceMute (boolean enable)
 
abstract boolean isPlayoutDeviceMute ()
 
abstract int setRecordDeviceMute (boolean enable)
 
abstract boolean isRecordDeviceMute ()
 
abstract void uploadSdkInfo ()
 
abstract int addLiveStreamTask (NERtcLiveStreamTaskInfo taskInfo, AddLiveTaskCallback addLiveTaskCallback)
 
abstract int updateLiveStreamTask (NERtcLiveStreamTaskInfo taskInfo, UpdateLiveTaskCallback updateLiveTaskCallback)
 
abstract int removeLiveStreamTask (String taskId, DeleteLiveTaskCallback deleteLiveTaskCallback)
 
abstract int setChannelProfile (int channelProfile)
 
abstract int enableDualStreamMode (boolean enable)
 
abstract int getConnectionState ()
 
abstract int setClientRole (int role)
 
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 switchChannel (String token, String channelName)
 
abstract int startAudioRecording (String filePath, int sampleRate, int quality)
 
abstract int stopAudioRecording ()
 
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)
 
- Public 成员函数 继承自 com.netease.lava.nertc.sdk.NERtc
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 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 startVideoPreview ()
 
abstract int stopVideoPreview ()
 
abstract int setupLocalVideoCanvas (IVideoRender render)
 
abstract int setupRemoteVideoCanvas (IVideoRender render, long uid)
 
abstract int enableLocalVideo (boolean enable)
 
abstract int subscribeRemoteVideoStream (long uid, NERtcRemoteVideoStreamType streamType, boolean subscribe)
 
abstract void setParameters (NERtcParameters params) throws IllegalArgumentException
 

静态 Public 成员函数

static NERtcEx getInstance ()
 
- 静态 Public 成员函数 继承自 com.netease.lava.nertc.sdk.NERtc
static NERtcVersion version ()
 
static List< String > checkPermission (Context context)
 

成员函数说明

◆ addLiveStreamTask()

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

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

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。
  • 该方法每次只能增加一路旁路推流地址。如需推送多路流,则需多次调用该方法。同一个音视频房间(即同一个 channelid)可以创建 3 个不同的推流任务。

参数
taskInfo推流任务信息,详细信息请参考 live.NERtcLiveStreamTaskInfo
addLiveTaskCallback操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 live.AddLiveTaskCallback
返回
0
方法调用成功 , 其他失败。

◆ adjustPlaybackSignalVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.adjustPlaybackSignalVolume ( int  volume)
abstract

调节本地播放的所有远端用户信号音量。

参数
volume播放音量。取值范围为 [0, 400]。其中:
  • 0:静音。
  • 100:(默认)原始音量。
  • 400:最大可为原始音量的 4 倍(自带溢出保护)。
返回
0
方法调用成功,其他失败

◆ adjustRecordingSignalVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.adjustRecordingSignalVolume ( int  volume)
abstract

调节采集信号音量。

参数
volume采集信号音量,取值范围为 [0, 400]。其中:
  • 0:静音。
  • 100:(默认)原始音量。
  • 400:最大可为原始音量的 4 倍(自带溢出保护)。
返回
0
方法调用成功,其他失败

◆ adjustUserPlaybackSignalVolume()

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

调节本地播放的指定远端用户的信号音量。

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

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

◆ enableAudioVolumeIndication()

abstract int com.netease.lava.nertc.sdk.NERtcEx.enableAudioVolumeIndication ( boolean  enable,
int  interval 
)
abstract

启用说话者音量提示。
该方法允许 SDK 定期向 App 反馈本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息,即当前谁在说话以及说话者的音量。
启用该方法后,只要房间内有发流用户,无论是否有人说话,SDK 都会在加入房间后根据预设的时间间隔触发 onRemoteAudioVolumeIndication 回调。
{

参见
NERtcCallbackEx.onRemoteAudioVolumeIndication}
参数
enable是否启用说话者音量提示。
  • true:启用说话者音量提示。
  • false:关闭说话者音量提示。
interval指定音量提示的时间间隔。单位为毫秒。必须设置为 100 毫秒的整数倍值,建议设置为 200 毫秒以上。
返回
0
方法调用成功,其他失败

◆ enableDualStreamMode()

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

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

注解
  • 该方法只对摄像头数据生效,自定义输入、屏幕共享等视频流无效。
  • 该方法在加入房间前后都能调用。

参数
enable指定是否开启双流模式。
  • true:(默认)开启双流模式。
  • false:关闭双流模式。
返回
0
方法调用成功,其他调用失败

◆ enableEarback()

abstract int com.netease.lava.nertc.sdk.NERtcEx.enableEarback ( boolean  enabled,
int  volume 
)
abstract

开启或关闭耳返功能。

注解
  • 请在房间内调用该方法。
  • 开启耳返功能后,必须连接上耳机或耳麦,才能正常使用耳返功能。建议通过 onAudioDeviceChanged 监听播放设备的变化,当监听到播放设备切换为耳机时才开启耳返。
  • 在V4.0.0 版本中,enableEarback 的 volume 参数无效,请使用 setEarbackVolume 接口设置耳返音量。

参数
enabled是否开启耳返功能。 true: 开启耳返功能。 false: (默认)关闭耳返功能。
volume设置耳返音量,可设置为 0~100,默认为 100。
返回
0
方法调用成功,其他失败

◆ getAudioMixingCurrentPosition()

abstract long com.netease.lava.nertc.sdk.NERtcEx.getAudioMixingCurrentPosition ( )
abstract

获取音乐文件的播放进度。
该方法获取当前伴奏播放进度,单位为毫秒。请在房间内调用该方法。

返回
音乐文件的播放位置,单位为毫秒。

◆ getAudioMixingDuration()

abstract long com.netease.lava.nertc.sdk.NERtcEx.getAudioMixingDuration ( )
abstract

获取伴奏时长。
该方法获取伴奏时长,单位为毫秒。请在房间内调用该方法。

返回
伴奏时长,单位为毫秒。

◆ getAudioMixingPlaybackVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.getAudioMixingPlaybackVolume ( )
abstract

获取伴奏播放音量。
该方法获取混音里伴奏的播放音量大小。请在房间内调用该方法。

返回
当前伴奏播放音量。

◆ getAudioMixingSendVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.getAudioMixingSendVolume ( )
abstract

获取伴奏发送音量。
该方法获取混音里伴奏的发送音量大小。请在房间内调用该方法。

返回
当前伴奏发送音量。

◆ getCameraCurrentZoom()

abstract int com.netease.lava.nertc.sdk.NERtcEx.getCameraCurrentZoom ( )
abstract

获取当前摄像头缩放比例。

返回
当前缩放比例。

◆ getCameraMaxZoom()

abstract int com.netease.lava.nertc.sdk.NERtcEx.getCameraMaxZoom ( )
abstract

获取摄像头支持的最大缩放比例。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。

返回
摄像头支持的最大视频缩放比例。

◆ getConnectionState()

abstract int com.netease.lava.nertc.sdk.NERtcEx.getConnectionState ( )
abstract

获取当前网络状态。

返回
当前网络状态。详细信息请参考 NERtcConstants.ConnectionState

◆ getEffectPlaybackVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.getEffectPlaybackVolume ( int  effectId)
abstract

获取音效文件播放音量。
请在加入房间后调用该方法。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
0
方法调用成功,其他失败

◆ getEffectSendVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.getEffectSendVolume ( int  effectId)
abstract

获取指定音效文件发送音量。
请在加入房间后调用该方法。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
音效发送音量。

◆ getInstance()

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

获取 NERtc 实例。

返回
NERtc 实例。

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

◆ isCameraExposurePositionSupported()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.isCameraExposurePositionSupported ( )
abstract

检测设备是否支持手动曝光功能。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。

返回
true:设置支持手动曝光功能;false:设备不支持手动曝光功能。

◆ isCameraFocusSupported()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.isCameraFocusSupported ( )
abstract

检测设备是否支持手动对焦功能。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。

返回
true:设备支持手动对焦功能;false:设备不支持手动对焦功能。

◆ isCameraTorchSupported()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.isCameraTorchSupported ( )
abstract

检测设备是否支持闪光灯常亮。

注解
  • 一般情况下,App 默认开启前置摄像头,因此如果设备前置摄像头不支持闪光灯,直接使用该方法会返回 false。如果需要检查后置摄像头是否支持闪光灯,需要先使用 switchCamera 切换摄像头,再使用该方法。
  • 该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。

返回
true:设备支持闪光灯常亮; false:设备不支持闪光灯常亮。

◆ isCameraZoomSupported()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.isCameraZoomSupported ( )
abstract

检测设备当前使用的摄像头是否支持缩放功能。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。

返回
true:设备支持摄像头缩放功能; false: 设备不支持摄像头缩放功能。

◆ isPlayoutDeviceMute()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.isPlayoutDeviceMute ( )
abstract

查看当前音频播放设备是否静音。

返回
true:静音;- false:未静音。

◆ isRecordDeviceMute()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.isRecordDeviceMute ( )
abstract

查看当前音频采集设备是否静音。

返回
true:静音;false:未静音。

◆ isSpeakerphoneOn()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.isSpeakerphoneOn ( )
abstract

检查扬声器状态启用状态。

注解
该方法可在加入房间前后调用。
返回
扬声器是否开启。
  • true:扬声器已开启,语音输出到扬声器。
  • false:扬声器未开启,语音输出到其他音频设备,例如听筒、耳机等。

◆ muteLocalAudioStream()

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

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

注解
  • 该方法不影响音频采集状态,因为并没有禁用音频采集设备。
  • 静音状态会在通话结束后被重置为非静音。

参数
mute是否开启本地音频发送。
  • true:(默认)静音本地音频。
  • false: 取消静音本地音频。
返回
0
方法调用成功,其他失败

◆ muteLocalVideoStream()

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

取消或恢复发布本地视频流。
成功调用该方法后,远端会触发 onUserVideoMute 回调。

注解
  • 调用该方法取消发布本地视频流后,SDK 不再发送本地视频流。
  • 该方法在加入房间前后均可调用。
  • 若调用该方法取消发布本地视频流,通话结束后会被重置为默认状态,即默认发布本地视频流。
  • 该方法与 enableLocalVideo(false) 的区别在于,enableLocalVideo(false) 会关闭本地摄像头设备,muteLocalVideoStream 不影响本地视频流采集,不禁用摄像头,且响应速度更快。

参数
mute是否取消发布本地视频流。 true:不发布本地视频流。 false:(默认)发布本地视频流。
返回
0
方法调用成功,其他调用失败

◆ pauseAllEffects()

abstract int com.netease.lava.nertc.sdk.NERtcEx.pauseAllEffects ( )
abstract

暂停播放所有音效文件。
请在加入房间后调用该方法。

返回
0
方法调用成功,其他失败

◆ pauseAudioMixing()

abstract int com.netease.lava.nertc.sdk.NERtcEx.pauseAudioMixing ( )
abstract

暂停播放音乐文件及混音。
该方法暂停播放伴奏。请在房间内调用该方法。

返回
0
方法调用成功,其他失败

◆ pauseEffect()

abstract int com.netease.lava.nertc.sdk.NERtcEx.pauseEffect ( int  effectId)
abstract

暂停播放指定音效文件。
请在加入房间后调用该方法。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
0
方法调用成功,其他失败

◆ playEffect()

abstract int com.netease.lava.nertc.sdk.NERtcEx.playEffect ( int  effectId,
NERtcCreateAudioEffectOption  option 
)
abstract

播放指定音效文件。

该方法播放指定的本地或在线音效文件。

  • 成功调用该方法后,如果播放结束,本地会触发 onAudioEffectFinished 回调。
  • 支持的音效文件类型包括 MP3、M4A、AAC、3GP、WMA 和 WAV 格式,支持本地 SD 卡中的文件和在线 URL。
注解
  • 请在加入房间后调用该方法。
  • 您可以多次调用该方法,通过传入不同的音效文件的 effect_id 和 option ,同时播放多个音效文件,实现音效叠加。为获得最佳用户体验,建议同时播放的音效文件不超过 3 个。
参数
effectId指定音效的 ID。每个音效均应有唯一的 ID。
option音效相关参数,包括混音任务类型、混音文件路径等。
                 若通过本接口成功播放音效文件后,反复停止或重新播放该 effectId 对应的音效文件,仅首次播放时设置的 option 有效,后续的 option 设置无效。

                 详细信息请参考 {@link audio.NERtcCreateAudioEffectOption}。
返回
0
方法调用成功,其他失败

◆ postOnGLThread()

abstract void com.netease.lava.nertc.sdk.NERtcEx.postOnGLThread ( Runnable  runnable)
abstract

将操作设置到具有GLContext的线程中。
第三方滤镜时需要用到,例如销毁第三方滤镜资源。

参数
runnable具体操作任务。

◆ pullExternalAudioFrame()

abstract int com.netease.lava.nertc.sdk.NERtcEx.pullExternalAudioFrame ( ByteBuffer  buffer,
int  len 
)
abstract

拉取外部音频数据。
该方法将从内部引擎拉取音频数据。 通过 setExternalAudioRender 启用外部音频数据渲染功能成功后,可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。

注解
  • 该方法需要在加入房间后调用。
  • 数据帧时长建议匹配 10ms 周期。
  • 该方法在音频渲染设备关闭后不再生效,此时会返回空数据。例如通话结束、通话前扬声器设备测试关闭等情况下,该设置不再生效。

参数
buffer需要填充的 buffer 数组。需要调用方创建,且必须使用 ByteBuffer.allocateDirect 创建。
len待拉取音频数据的字节数,单位为 byte。建议音频数据的时长至少为 10 毫秒,数据长度不能超过 7680字节。 计算公式为: len = sampleRate/1000 × 2 × channels × 音频数据时长(毫秒)。
返回
0
方法调用成功,其他调用失败

◆ pushExternalAudioFrame()

abstract int com.netease.lava.nertc.sdk.NERtcEx.pushExternalAudioFrame ( NERtcAudioExternalFrame  frame)
abstract

推送外部音频帧。
将外部音频数据帧推送给内部引擎。 通过 setExternalAudioSource 启用外部音频数据输入功能成功后,可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。

注解
  • 该方法需要在加入房间后调用。
  • 数据帧时长建议匹配 10ms 周期。
  • 该方法在音频输入设备关闭后不再生效。例如关闭本地音频、通话结束、通话前麦克风设备测试关闭等情况下,该设置不再生效。

参数
frame音频帧数据;
返回
- 0: 方法调用成功;其他: 方法调用失败。

◆ pushExternalVideoFrame()

abstract boolean com.netease.lava.nertc.sdk.NERtcEx.pushExternalVideoFrame ( NERtcVideoFrame  frame)
abstract

推送外部视频帧。
该方法主动将视频帧数据用 NERtcVideoFrame 类封装后传递给 SDK。 请确保在你调用本方法前已调用 setExternalVideoSource,并将参数设为 true,否则调用本方法后会一直报错。

注解
该方法设置内部引擎为启用状态,在 leaveChannel 后不再有效。
参数
frame视频帧的数据信息。详细信息请参考 video.NERtcVideoFrame
返回
true:该帧推送成功;false:该帧推送不成功。

◆ removeLiveStreamTask()

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

删除房间推流任务。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。

参数
taskId推流任务 ID。
deleteLiveTaskCallback操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 live.DeleteLiveTaskCallback
返回
0
方法调用成功 ,其他失败。

◆ resumeAllEffects()

abstract int com.netease.lava.nertc.sdk.NERtcEx.resumeAllEffects ( )
abstract

恢复播放所有音效文件。
请在加入房间后调用该方法。

返回
0
方法调用成功,其他失败

◆ resumeAudioMixing()

abstract int com.netease.lava.nertc.sdk.NERtcEx.resumeAudioMixing ( )
abstract

恢复播放伴奏。
该方法恢复混音,继续播放伴奏。请在房间内调用该方法。

返回
0
方法调用成功,其他失败

◆ resumeEffect()

abstract int com.netease.lava.nertc.sdk.NERtcEx.resumeEffect ( int  effectId)
abstract

恢复播放指定音效文件。
请在加入房间后调用该方法。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
0
方法调用成功,其他失败

◆ sendSEIMsg() [1/2]

abstract int com.netease.lava.nertc.sdk.NERtcEx.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.NERtcEx.sendSEIMsg ( String  seiMsg,
NERtcVideoStreamType  streamType 
)
abstract

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

  • 调用时机:视频流(主流)开启后,可调用此函数。
  • 数据长度限制: SEI 最大数据长度为 4096 字节,超限会发送失败。如果频繁发送大量数据会导致视频码率增大,可能会导致视频画质下降甚至卡顿。
  • 发送频率限制:最高为视频发送的帧率,建议不超过 10 次/秒。
  • 生效时间:调用本接口之后,最快在下一帧视频数据帧之后发送 SEI 数据,最慢在接下来的 5 帧视频之后发送。

    注解
    • SEI 数据跟随视频帧发送,由于在弱网环境下可能丢帧,SEI 数据也可能随之丢失,所以建议在发送频率限制之内多次发送,保证接收端收到的概率。
    • 指定通道发送SEI之前,需要提前开启对应的数据流通道。

    参数
    seiMsg自定义 SEI 数据。
    streamType发送 SEI 时,使用的流通道类型。详细信息请参考 NERtcVideoStreamType
    返回
    0
    方法调用成功,其他失败
    参见
    NERtcCallbackEx::onRecvSEIMsg(long, String)

◆ setAudioEffectPreset()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setAudioEffectPreset ( int  preset)
abstract

设置 SDK 预设的人声的变声音效。
设置变声音效可以将人声原因调整为多种特殊效果,改变声音特性。

注解
  • 此方法在加入房间前后都能调用,通话结束后重置为默认关闭状态。
  • 此方法和 setLocalVoicePitch 互斥,调用此方法后,本地语音语调会恢复为默认值 1.0。

参数
preset预设的变声音效。默认关闭变声音效。详细信息请参考 NERtcVoiceChangerType
返回
0
方法调用成功,其他失败

◆ setAudioFocusMode()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setAudioFocusMode ( int  focusMode)
abstract

设置音频焦点模式。

返回
0
方法调用成功,其他失败

◆ setAudioFrameObserver()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setAudioFrameObserver ( NERtcAudioFrameObserver  observer)
abstract

注册语音观测器对象。
该方法用于设置音频采集/播放PCM回调,可用于声音处理等操作。当需要引擎返回 onPlaybackFrame 等回调时,需要使用该方法注册回调。

注解
该方法在加入房间前后均可设置或修改。
参数
observer接口对象实例。 如果传入 NULL,则取消注册,同时会清理 audio.NERtcAudioFrameRequestFormat 相关设置。详细信息请参考NERtcAudioFrameObserver
返回
RTCResult

◆ setAudioMixingPlaybackVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setAudioMixingPlaybackVolume ( int  volume)
abstract

调节伴奏播放音量。
该方法调节混音里伴奏的播放音量大小。请在房间内调用该方法。

参数
volume伴奏发送音量。取值范围为 0~100。默认 100,即原始文件音量。
返回
0
方法调用成功,其他失败

◆ setAudioMixingPosition()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setAudioMixingPosition ( long  position)
abstract

设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。

参数
position音乐文件的播放位置,单位为毫秒。
返回
0
方法调用成功,其他失败

◆ setAudioMixingSendVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setAudioMixingSendVolume ( int  volume)
abstract

调节伴奏发送音量。
该方法调节混音里伴奏的发送音量大小。请在房间内调用该方法。

参数
volume伴奏发送音量。取值范围为 0~100。默认 100,即原始文件音量。
返回
0
方法调用成功,其他失败

◆ setAudioProcessObserver()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setAudioProcessObserver ( NERtcAudioProcessObserver  audioProcessObserver)
abstract

注册音频处理观测器对象。
调用本方法注册音频处理观测器后,如果检测到啸叫,会发送 onAudioHasHowling 回调。

参数
audioProcessObserver注册音频处理观测器对象。详细说明请参考 audio.NERtcAudioProcessObserver
返回
RTCResult

◆ setCameraExposurePosition()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setCameraExposurePosition ( float  x,
float  y 
)
abstract

设置手动曝光位置。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。
成功调用该方法后,本地会触发 onCameraExposureChanged 回调。

参数
x曝光区域 x 坐标。
y曝光区域 y 坐标。
返回
0:成功

◆ setCameraFocusPosition()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setCameraFocusPosition ( float  x,
float  y 
)
abstract

设置手动对焦位置。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。
成功调用该方法后,本地会触发 onCameraFocusChanged 回调。

参数
x触摸点相对于视图的横坐标
y触摸点相对于视图的纵坐标

◆ setCameraTorchOn()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setCameraTorchOn ( boolean  on)
abstract

设置是否打开闪光灯。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。

参数
on是否打开闪光灯。
  • true:打开闪光灯。
  • false:关闭闪光灯。
返回
0:成功 1: 失败 2:设备不支持闪光灯

◆ setCameraZoomFactor()

abstract void com.netease.lava.nertc.sdk.NERtcEx.setCameraZoomFactor ( int  zoomValue)
abstract

设置摄像头缩放比例。

注解
  • 该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。
  • 建议在调用本接口前,先通过 getCameraMaxZoom 查看摄像头支持的最大缩放比例,并根据实际需求合理设置需要的缩放比例。

参数
zoomValue摄像头缩放比例。

◆ setChannelProfile()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setChannelProfile ( int  channelProfile)
abstract

设置房间场景。
房间场景可设置为通话或直播场景,不同的场景中 QoS 策略不同。

注解
该方法必须在加入房间前调用,进入房间后无法再设置房间场景。
参数
channelProfile设置房间场景。详细信息请参考 NERtcConstants.RTCChannelProfile
返回
0
方法调用成功,其他调用失败

◆ setClientRole()

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

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

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

    注解
    • 默认情况下用户以主播角色加入房间。在加入房间前,用户可以调用本接口切换本端模式为观众。在加入房间后,用户也可以通过本接口切换用户模式。
    • 用户切换为观众角色时,SDK 会自动关闭音视频设备。

    参数
    role用户角色。详细信息请参考 com.netease.lava.nertc.sdk.NERtcConstants.UserRole
    返回
    0
    方法调用成功,其他调用失败

◆ setEarbackVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setEarbackVolume ( int  volume)
abstract

设置耳返音量。

参数
volume设置耳返音量,可设置为 0~100,默认为 100。
返回
0
方法调用成功,其他失败

◆ setEffectPlaybackVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setEffectPlaybackVolume ( int  effectId,
int  volume 
)
abstract

设置音效文件播放音量。
请在加入房间后调用该方法。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。
volume音效播放音量。范围为 0~100,默认为 100。
返回
0
方法调用成功,其他失败

◆ setEffectSendVolume()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setEffectSendVolume ( int  effectId,
int  volume 
)
abstract

设置音效文件发送音量。
请在加入房间后调用该方法。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。
volume音效发送音量。范围为0~100,默认为100,表示原始音量。
返回
0
方法调用成功,其他失败

◆ setExternalAudioRender()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setExternalAudioRender ( boolean  enable,
int  sampleRate,
int  channels 
)
abstract

设置外部音频渲染。
该方法适用于需要自行渲染音频的场景。默认为关闭状态。当该方法调用成功后,音频播放设备选择和异常重启失效。 调用成功后可以使用 pullExternalAudioFrame 接口获取音频 PCM 数据。

注解
  • 请在加入房间前调用该方法。
  • 该方法设置内部引擎为启用状态,启动时将用虚拟设备代替扬声器工作,在leaveChannel 后仍然有效。如果需要关闭该功能,需要在下次通话前调用接口关闭外部音频数据渲染功能。
  • 启用外部音频渲染功能后,SDK 内部实现部分扬声器由外部输入数据代替,扬声器相关的设置会失败或不在通话中生效。例如进行 loopback 检测时,需要由外部渲染播放。

参数
enable设置是否开启外部音频渲染:
  • true:开启外部音频渲染。
  • false:(默认)关闭外部音频渲染。
sampleRate外部音频渲染的采样率 (Hz),可设置为 16000,32000,44100 或 48000。
注解
调用接口关闭功能时可传入任意合法值,此时设置不会生效。
参数
channels外部音频渲染的声道数,可设置为:
  • 1:单声道
  • 2:双声道
注解
调用接口关闭功能时可传入任意合法值,此时设置不会生效。
返回
0
方法调用成功,其他调用失败

◆ setExternalAudioSource()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setExternalAudioSource ( boolean  enabled,
int  sample_rate,
int  channels 
)
abstract

开启或关闭外部音频源数据输入。
当该方法调用成功后,音频输入设备选择和异常重启会失效。调用成功后可以使用 pushExternalAudioFrame 接口发送音频 PCM 数据。

注解
  • 请在加入房间前调用该方法。
  • 该方法设置内部引擎为启用状态,启动时将用虚拟设备代替扬声器工作,在 leaveChannel 后仍然有效。如果需要关闭该功能,需要在下次通话前调用接口关闭外部音频数据输入功能。
  • 启用外部音频数据输入功能后,SDK 内部实现部分扬声器由外部输入数据代替,扬声器相关的设置会失败或不在通话中生效。例如进行 loopback 检测时,会听到输入的外部数据。

参数
enabled是否开启外部数据输入。默认为 false。
可设置为:
  • true:开启外部数据输入,使用外部视频源。
  • false:(默认)关闭外部数据输入,不使用外部视频源。
sample_rate外部音频源的数据采样率,单位为 Hz。建议设置为 8000,16000,32000,44100 或 48000。
注解
调用接口关闭功能时可传入任意合法值,此时设置不会生效。
参数
channels外部音频源的数据声道数。可设置为:
  • 1:单声道。
  • 2:双声道。
注解
调用接口关闭功能时可传入任意合法值,此时设置不会生效。
返回
- 0: 方法调用成功; 其他: 方法调用失败。

◆ setExternalVideoSource()

abstract void com.netease.lava.nertc.sdk.NERtcEx.setExternalVideoSource ( boolean  enable)
abstract

开启或关闭外部视频源数据输入。
该方法启用外部视频数据输入功能。

注解
  • 该方法设置内部引擎为启用状态,在 leaveChannel 后仍然有效。如果需要关闭该功能,需要在下次通话前调用接口关闭该功能。
  • 如果使用了外部视频源,请在调用 startScreenCapture、enableLocalVideo 或 startVideoPreview 之前调用此 API。
  • 外部输入视频源是屏幕共享时默认使用辅流通道,非屏幕共享时使用主流通道,此时与 Camera 互斥。
  • 之前使用主流通道或者当前使用主流通道,且主流已经开启时,请勿更改设置。之前使用辅流通道或者当前使用辅流通道,且辅流已经开启时,请勿更改设置。

参数
enable是否使用外部视频源: true:使用外部视频源。 false:(默认)不使用外部视频源。

◆ setLocalCanvasWatermarkConfigs()

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

添加本地视频画布水印。

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

◆ setLocalMediaPriority()

abstract int com.netease.lava.nertc.sdk.NERtcEx.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.NERtcEx.setLocalPublishFallbackOption ( int  option)
abstract

设置弱网条件下发布的音视频流回退选项。

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

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

◆ setLocalVoiceEqualization()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setLocalVoiceEqualization ( int  bandFrequency,
int  bandGain 
)
abstract

设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。

注解
该方法在加入房间前后都能调用,通话结束后重置为默认关闭状态。
参数
bandFrequency频谱子带索引,取值范围是 [0-9],分别代表 10 个频带,对应的中心频率是 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。
bandGain每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。
返回
0
方法调用成功,其他失败

◆ setLocalVoicePitch()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setLocalVoicePitch ( double  pitch)
abstract

设置本地语音音调。
该方法改变本地说话人声音的音调。

注解
  • 通话结束后该设置会重置,默认为 1.0。
  • 此方法与 setAudioEffectPreset 互斥,调用此方法后,已设置的变声效果会被取消。

参数
pitch语音频率。可以在 [0.5, 2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。
返回
0
方法调用成功,其他失败

◆ setMixedAudioFrameParameters()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setMixedAudioFrameParameters ( NERtcAudioFrameRequestFormat  format)
abstract

设置录制和播放声音混音后的数据格式。
该方法设置 NERtcEx#setAudioFrameObserver 回调的声音格式。

注解
  • 该方法在加入房间前后均可设置或修改。leaveChannel 后重置为空。
  • 目前只支持设置采样率。
  • 未调用该接口设置数据格式时,回调中的采样率返回 SDK 默认值。

参数
format指定 NERtcAudioFrameObserver#onMixedAudioFrame(NERtcAudioFrame) (com.netease.lava.nertc.sdk.audio.NERtcAudioFrame)} 中返回数据的采样率和数据的通道数。允许传入 NULL,默认为 NULL。
返回
- 0: 方法调用成功;其他: 方法调用失败。

◆ setPlaybackAudioFrameParameters()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setPlaybackAudioFrameParameters ( NERtcAudioFrameRequestFormat  format)
abstract

设置播放的声音格式。
该方法设置 NERtcEx#setAudioFrameObserver 回调的播放声音格式。

注解
  • 该方法在加入房间前后均可设置或修改。
  • 取消监听、leaveChannel 后重置为空。

参数
format指定 NERtcAudioFrameObserver#onRecordFrame(com.netease.lava.nertc.sdk.audio.NERtcAudioFrame) 中返回数据的采样率和数据的通道数。允许传入 NULL,默认为 NULL。详细信息请参考 audio.NERtcAudioFrameRequestFormat
返回
- 0: 方法调用成功; 其他: 方法调用失败。

◆ setPlayoutDeviceMute()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setPlayoutDeviceMute ( boolean  enable)
abstract

设置是否静音音频播放设备。

参数
enable是否静音音频播放设备。
  • true:静音
  • false:不静音。
返回
0
方法调用成功,其他失败

◆ setRecordDeviceMute()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setRecordDeviceMute ( boolean  enable)
abstract

设置是否静音音频采集设备。

参数
enable是否静音音频采集设备。
  • true:静音。
  • false:不静音。
返回
0
方法调用成功,其他失败

◆ setRecordingAudioFrameParameters()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setRecordingAudioFrameParameters ( NERtcAudioFrameRequestFormat  format)
abstract

设置采集的音频格式。
该方法设置 NERtcEx#setAudioFrameObserver 回调的采集声音格式。

注意

◆ setRemoteCanvasWatermarkConfigs()

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

添加远端视频画布水印。

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

◆ setRemoteSubscribeFallbackOption()

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

设置弱网条件下订阅的音视频流回退选项。

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

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

◆ setSpeakerphoneOn()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setSpeakerphoneOn ( boolean  enable)
abstract

启用或关闭扬声器播放。
该方法设置是否将语音路由到扬声器,即设备外放。

注解
该方法需要在加入房间后调用。
参数
enable是否将音频路由到外放:
  • true: 切换到外放。如果设备连接了耳机或蓝牙,则无法切换到外放。
  • false: 切换到听筒。如果设备连接了耳机,则语音路由走耳机。

返回
0
方法调用成功,其他失败

◆ setStatsObserver()

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

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

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

◆ setupLocalSubStreamVideoCanvas()

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

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

注解
  • 若使用外部渲染,建议在加入房间之前设置。
  • 请在初始化后调用该方法,然后再加入房间。
  • 同一个画布只能设置给一个用户。

参数
render视频画布设置,详细信息请参考 video.NERtcVideoView
返回
0
方法调用成功,其他调用失败
参见
NERtcVideoView

◆ setupRemoteSubStreamVideoCanvas()

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

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

注解
  • 若使用外部渲染,建议在收到 onUserJoined 后设置。
  • 如果 App 无法事先知道对方的用户 ID,可以在远端加入房间后调用。从 onUserJoined 中获取对方的 uid,并通过本方法为该用户设置辅流视频画布。
  • 退出房间后,SDK 清除远端用户和画布的的绑定关系,该设置自动失效。

参数
render视频画布设置: NERtcVideoView:使用 SDK 内置画布,如需使用外部渲染器,可以通过 IVideoRender 接口实现。 setScalingType:设置视频的显示模式。
注解
该方法通过 NERtcVideoView 进行设置。
参数
uid远端用户 ID。
返回
0
方法调用成功,其他调用失败
参见
NERtcVideoView

◆ setVideoCallback()

abstract void com.netease.lava.nertc.sdk.NERtcEx.setVideoCallback ( NERtcVideoCallback  videoCallback,
boolean  textureWithI420 
)
abstract

设置视频采集数据回调,用于美颜等操作。

参数
videoCallback视频采集数据,详细信息请参考 video.NERtcVideoCallback
textureWithI420是否需要同时返回 YUV I420 和 Texture 格式的数据,仅在第三方滤镜率需要 YUV 数据时设置。默认情况下 SDK 仅返回 Texture 数据。
注解
该操作会有一定耗时。

◆ setVoiceBeautifierPreset()

abstract int com.netease.lava.nertc.sdk.NERtcEx.setVoiceBeautifierPreset ( int  preset)
abstract

设置 SDK 预设的美声效果。
调用该方法可以为本地发流用户设置 SDK 预设的人声美声效果。

注解
该方法在加入房间前后都能调用,通话结束后重置为默认关闭状态。
参数
preset预设的美声效果模式。默认关闭美声效果。详细信息请参考 NERtcVoiceBeautifierType
返回
0
方法调用成功,其他失败

◆ startAudioDump()

abstract int com.netease.lava.nertc.sdk.NERtcEx.startAudioDump ( )
abstract

开始记录音频 dump。
音频 dump 可用于分析音频问题。

返回
0
方法调用成功,其他失败

◆ startAudioMixing()

abstract int com.netease.lava.nertc.sdk.NERtcEx.startAudioMixing ( NERtcCreateAudioMixingOption  option)
abstract

开始播放音乐文件。

该方法指定本地或在线音频文件来和录音设备采集的音频流进行混音。

  • 支持的音乐文件类型包括 MP3、M4A、AAC、3GP、WMA 和 WAV 格式,支持本地 SD 卡中的文件或在线 URL。
  • 成功调用该方法后,如果播放状态改变,本地会触发 onAudioMixingStateChanged 回调。
注解
  • 请在加入房间后调用该方法。
  • 从 V4.3.0 版本开始,若您在通话中途调用此接口播放音乐文件时,手动设置了伴音播放音量或发送音量,则当前通话中再次调用时默认沿用此设置。
参数
option创建混音任务配置的选项,包括混音任务类型、混音文件全路径或 URL 等,详细信息请参考 audio.NERtcCreateAudioMixingOption
返回
0
方法调用成功,其他失败。

◆ startAudioRecording()

abstract int com.netease.lava.nertc.sdk.NERtcEx.startAudioRecording ( String  filePath,
int  sampleRate,
int  quality 
)
abstract

开始客户端录音。

调用该方法后,客户端会录制房间内所有用户混音后的音频流,并将其保存在本地一个录音文件中。录制开始或结束时,自动触发 onAudioRecording() 回调。

指定的录音音质不同,录音文件会保存为不同格式:

  • WAV:音质保真度高,文件大。
  • AAC:音质保真度低,文件小。
注解
  • 请在加入房间后调用此方法。
  • 客户端只能同时运行一个录音任务,正在录音时,如果重复调用 startAudioRecording,会结束当前录制任务,并重新开始新的录音任务。
  • 当前用户离开房间时,自动停止录音。您也可以在通话中随时调用 stopAudioRecording 手动停止录音。
参数
filePath录音文件在本地保存的绝对路径,需要精确到文件名及格式。例如:sdcard/xxx/audio.aac。
  • 请确保指定的路径存在并且可写。
  • 目前仅支持 WAV 或 AAC 文件格式。
sampleRate录音采样率(Hz),可以设为 16000、32000(默认)、44100 或 48000。
quality录音音质,只在 AAC 格式下有效。详细说明请参考 NERtcConstants.AudioRecordingQuality
返回
0
方法调用成功,其他调用失败

◆ startChannelMediaRelay()

abstract int com.netease.lava.nertc.sdk.NERtcEx.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.NERtcEx.startScreenCapture ( NERtcScreenConfig  screenConfig,
Intent  mediaProjectionPermissionResultData,
MediaProjection.Callback  mediaProjectionCallback 
)
abstract

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

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

◆ stopAllEffects()

abstract int com.netease.lava.nertc.sdk.NERtcEx.stopAllEffects ( )
abstract

停止播放所有音效文件。
请在加入房间后调用该方法。

返回
0
方法调用成功,其他失败

◆ stopAudioDump()

abstract int com.netease.lava.nertc.sdk.NERtcEx.stopAudioDump ( )
abstract

结束记录音频 dump。

返回
0
方法调用成功,其他失败

◆ stopAudioMixing()

abstract int com.netease.lava.nertc.sdk.NERtcEx.stopAudioMixing ( )
abstract

停止播放音乐文件及混音。
该方法停止播放伴奏。请在房间内调用该方法。

返回
0
方法调用成功,其他失败

◆ stopAudioRecording()

abstract int com.netease.lava.nertc.sdk.NERtcEx.stopAudioRecording ( )
abstract

停止客户端录音。

本端离开房间时自动停止录音,您也可以在通话中随时调用 stopAudioRecording 手动停止录音。

注解
该接口需要在 leaveChannel 之前调用。
返回
0
方法调用成功,其他调用失败

◆ stopChannelMediaRelay()

abstract int com.netease.lava.nertc.sdk.NERtcEx.stopChannelMediaRelay ( )
abstract

停止跨房间媒体流转发。

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

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

◆ stopEffect()

abstract int com.netease.lava.nertc.sdk.NERtcEx.stopEffect ( int  effectId)
abstract

停止播放指定音效文件。
请在加入房间后调用该方法。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。
返回
0
方法调用成功,其他失败

◆ stopScreenCapture()

abstract void com.netease.lava.nertc.sdk.NERtcEx.stopScreenCapture ( )
abstract

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

◆ subscribeRemoteSubStreamVideo()

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

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

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

◆ switchCamera()

abstract int com.netease.lava.nertc.sdk.NERtcEx.switchCamera ( )
abstract

切换前置/后置摄像头。
该方法需要在相机启动后调用,例如调用 startVideoPreview 或 joinChannel 后。

返回
0
方法调用成功,其他调用失败

◆ switchChannel()

abstract int com.netease.lava.nertc.sdk.NERtcEx.switchChannel ( String  token,
String  channelName 
)
abstract

快速切换音视频房间。

房间场景为直播场景时,房间中角色为观众的成员可以调用该方法从当前房间快速切换至另一个房间。

成功调用该方切换房间后:

注解
  • 房间成员成功切换房间后,默认订阅房间内所有其他成员的音频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 subscribeRemoteAudio 方法传入 false 实现。
  • 该方法仅适用于直播场景中,角色为观众的音视频房间成员。即已通过接口 setchannelprofile 设置房间场景为直播,通过 setClientRole 设置房间成员的角色为观众。
参数
token在服务器端生成的用于鉴权的安全认证签名(Token)。可设置为:
  • 已获取的 NERTC Token。安全模式下必须设置为获取到的 Token。默认 token 有效期 10 min,也可以定期通过应用服务器向云信服务器申请 token 或者申请长期且可复用的 token。推荐使用安全模式。
  • null。非安全模式下可设置为 null。安全性不高,建议在产品正式上线前联系对应商务经理转为安全模式。
channelName期望切换到的目标房间名称。
返回
0
方法调用成功,其他调用失败

◆ takeLocalSnapshot()

abstract int com.netease.lava.nertc.sdk.NERtcEx.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.NERtcEx.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.NERtcEx.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.NERtcEx.updateLiveStreamTask ( NERtcLiveStreamTaskInfo  taskInfo,
UpdateLiveTaskCallback  updateLiveTaskCallback 
)
abstract

更新修改房间推流任务。

注解
  • 该方法仅适用直播场景。
  • 请在房间内调用该方法,该方法在通话中有效。

参数
taskInfo推流任务信息,详细信息请参考 live.NERtcLiveStreamTaskInfo
updateLiveTaskCallback操作结果回调,方法调用成功后会触发对应回调。详细信息请参考 live.UpdateLiveTaskCallback
返回
0
方法调用成功 ,其他失败 。

◆ uploadSdkInfo()

abstract void com.netease.lava.nertc.sdk.NERtcEx.uploadSdkInfo ( )
abstract

上传 SDK 信息。
只能在加入频道后调用。上传的信息包括 log 和 Audio dump 等文件。


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