Class ZegoLiveRoom


  • public final class ZegoLiveRoom
    extends java.lang.Object
    ZEGO SDK API 入口。

    Copyright © 2017 Zego. All rights reserved.

    • Constructor Detail

      • ZegoLiveRoom

        public ZegoLiveRoom()
    • Method Detail

      • enableExtractLibFromAPK

        public static void enableExtractLibFromAPK​(boolean enable)
      • setSDKContext

        public static int setSDKContext​(ZegoLiveRoom.SDKContext sdkContext)
        设置 SDK 上下文,如日志路径、Application Context 等,同时检查 so 库是否成功加载。

        注意:必须在所有其它方法调用前调用

        建议在应用 Application 继承类的 onCreate() 方法中设置

        Parameters:
        sdkContext - SDK 上下文
        Returns:
        >= 0 设置成功;
        < 0 设置失败(一般为加载 so 库失败),其中:
        = -1: 加载外部指定的 so 库失败,请检查外部 so 是否存在且完整以及是否匹配当前设备 CPU 构架类型;
        = -2: 自释放 so 库失败,请检查内存空间是否足够。
      • setZegoLogInfoCallback

        public void setZegoLogInfoCallback​(IZegoLogInfoCallback callback)
        设置日志信息回调接口.
        Parameters:
        callback - 日志回调接口
      • setZegoRoomCallback

        public void setZegoRoomCallback​(IZegoRoomCallback callback)
        设置房间回调接口.
        Parameters:
        callback - 房间回调接口
      • setZegoLivePlayerCallback

        public void setZegoLivePlayerCallback​(IZegoLivePlayerCallback callback)
        设置观众回调接口.
        Parameters:
        callback - 观众回调接口
      • setZegoLiveEventCallback

        public void setZegoLiveEventCallback​(IZegoLiveEventCallback callback)
        设置直播事件回调接口.
        Parameters:
        callback - 直播事件回调接口
      • setZegoDeviceEventCallback

        public void setZegoDeviceEventCallback​(IZegoDeviceEventCallback callback)
        设置设备事件回调接口.
        Parameters:
        callback - 设备事件回调接口
      • setZegoLivePublisherCallback

        public void setZegoLivePublisherCallback​(IZegoLivePublisherCallback callback)
        设置主播回调接口.
        Parameters:
        callback - 主播回调接口
      • setZegoLivePublisherExCallback

        public void setZegoLivePublisherExCallback​(IZegoLivePublisherExCallback callback)
        设置高级主播回调接口.
        Parameters:
        callback - 高级主播回调接口
      • setZegoLivePublisherCallback2

        public void setZegoLivePublisherCallback2​(IZegoLivePublisherCallback2 callback2)
        设置主播回调接口2.
        Parameters:
        callback2 - 主播回调接口
      • setZegoAudioRecordCallback

        public void setZegoAudioRecordCallback​(IZegoAudioRecordCallback callback)
        设置音频录制回调接口。
        Parameters:
        callback - 实现 IZegoAudioRecordCallback 接口的对象实例,用于接收 SDK 传回的音频数据
      • setZegoIMCallback

        public void setZegoIMCallback​(IZegoIMCallback callback)
      • setZegoAVEngineCallback

        public void setZegoAVEngineCallback​(IZegoAVEngineCallback callback)
        设置音视频引擎回调接口

        开发者可以通过此接口设置回调对象来监听引擎的启动或停止状态

        建议开发者在调用初始化 SDK 接口之后、登录房间接口之前设置该回调接口

        Parameters:
        callback - 音视频引擎回调接口
      • setRoomMode

        public static boolean setRoomMode​(int mode)
        设置房间模式

        注意:必须在初始化 SDK 之前调用

        Parameters:
        mode - 房间模式, 参见 ZegoConstants.ZegoRoomMode
        Returns:
        true 成功, false 失败
      • initSDK

        @Deprecated
        public boolean initSDK​(long appID,
                               byte[] appSign,
                               android.content.Context context)
        Deprecated.
        请使用 initSDK(long, byte[]) 替代
        初始化 ZEGO SDK,在使用 SDK 的.
        Parameters:
        appID - Zego派发的数字ID,各个开发者的唯一标识
        appSign - Zego派发的签名,用来校验对应appID的合法性
        context - Application Context
        Returns:
        true: 调用成功;false:调用失败
        See Also:
        setSDKContext(SDKContext)
      • initSDK

        public boolean initSDK​(long appID,
                               byte[] appSign)
        初始化 App 相关信息.

        注意:必须在调用 setSDKContext(SDKContext) 方法设置好 ZegoLiveRoom.SDKContext 之后才能调用此方法。

        Parameters:
        appID - Zego 派发的数字 ID,各个开发者的唯一标识
        appSign - Zego 派发的签名,用来校验对应 appID 的合法性。若为空,则必须使用setToken设置有效地Token到SDK,Token需要用户自己生成。
        Returns:
        true: 调用成功;false:调用失败
        Throws:
        java.lang.RuntimeException - 若调用此方法前没有设置 SDKContext,会抛出未设置 SDKContext 异常
        See Also:
        setSDKContext(SDKContext)
      • initSDK

        public boolean initSDK​(long appID,
                               byte[] appSign,
                               IZegoInitSDKCompletionCallback callback)
        初始化 App 相关信息.

        注意:必须在调用 setSDKContext(SDKContext) 方法设置好 ZegoLiveRoom.SDKContext 之后才能调用此方法。

        Parameters:
        appID - Zego 派发的数字 ID,各个开发者的唯一标识
        appSign - Zego 派发的签名,用来校验对应 appID 的合法性。若为空,则必须使用setToken设置有效地Token到SDK,Token需要用户自己生成。
        callback - Zego InitSDK完成后回调
        Returns:
        true: 调用成功;false:调用失败
        Throws:
        java.lang.RuntimeException - 1. 若调用此方法前没有设置 SDKContext,会抛出未设置 SDKContext 异常;
        2. 若 zegoliveroom.jar 与 so 不匹配,会抛出 jar 与 so 不匹配异常;
        See Also:
        setSDKContext(SDKContext)
      • unInitSDK

        public boolean unInitSDK()
        释放 SDK 资源,停止各种系统监听
        Returns:
        true: 调用成功;false: 调用失败
      • setLocalProxyConfig

        public void setLocalProxyConfig​(java.util.ArrayList<ZegoProxyInfo> proxyList,
                                        boolean enable)
        设置本地代理
        Parameters:
        proxyList - 代理信息列表.
        enable - 是否启用代理.
      • setCloudProxyConfig

        public void setCloudProxyConfig​(java.util.ArrayList<ZegoProxyInfo> proxyList,
                                        java.lang.String token,
                                        boolean enable)
        设置云代理
        Parameters:
        proxyList - 代理信息列表.
        token - 使用token 鉴权,需要填写,否则可填空(eg. 使用appsign)
        enable - 是否启用代理.
      • setToken

        public boolean setToken​(java.lang.String token,
                                java.lang.String roomID)
        设置鉴权 token 信息。

        注意: 1.必须在 loginRoom(String, int, IZegoLoginCompletionCallback) or loginRoom(String, String, int, IZegoLoginCompletionCallback) 之前调用。退出房间后失效。
        2.使用此方法验证登录及推流时用户的合法性,登录房间前调用,支持登录后重置,token的生成规则请联系即构。若不需要验证用户合法性,不需要调用此函数。

        Parameters:
        token - token信息
        roomID - 房间 ID
        Returns:
        true: 调用成功;false: 调用失败
      • setVideoCaptureDeviceId

        public boolean setVideoCaptureDeviceId​(java.lang.String id,
                                               int channelIndex)
        设置视频采集设备ID。 通过设置设备ID,可以切换视频采集设备

        调用时机: 无要求

        Parameters:
        id - 设备ID 该ID为用户自己定义的设备ID
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 设置成功,false: 设置失败
      • loginRoom

        public boolean loginRoom​(java.lang.String roomID,
                                 int role,
                                 IZegoLoginCompletionCallback callback)
        登录房间。
        Parameters:
        roomID - 房间 ID,长度不超过 255 bytes 的可打印字符串
        role - 用户角色, 详见 ZegoConstants.RoomRole
        callback - 实现 IZegoLoginCompletionCallback 接口的对象实例,用于接收登录结果
        Returns:
        true: 调用成功,false: 调用失败
      • loginRoom

        public boolean loginRoom​(java.lang.String roomID,
                                 java.lang.String roomName,
                                 int role,
                                 IZegoLoginCompletionCallback callback)
        登录房间。
        Parameters:
        roomID - 房间 ID,长度不超过 255 bytes 的可打印字符串
        roomName - 房间名字,长度不超过 255 bytes 的可见字符串
        role - 用户角色, 详见 ZegoConstants.RoomRole
        callback - 实现 IZegoLoginCompletionCallback 接口的对象实例,用于接收登录结果
        Returns:
        true: 调用成功,false: 调用失败
      • switchRoom

        public boolean switchRoom​(java.lang.String roomID,
                                  java.lang.String roomName,
                                  int role,
                                  IZegoLoginCompletionCallback callback)
        切换房间

        注意: 1.支持单房间,不支持多房间模式(通过 setRoomMode(int) 开启 MultiRoom)。 2.切换房间调用成功,会停止所有推拉流

        Parameters:
        roomID - 房间 ID,长度不超过 255 bytes 的可打印字符串
        roomName - 房间名字,长度不超过 255 bytes 的可见字符串
        role - 用户角色, 详见 ZegoConstants.RoomRole
        callback - 实现 IZegoLoginCompletionCallback 接口的对象实例,用于接收切换房间的结果
        Returns:
        true: 调用成功,false: 调用失败
      • switchRoom

        public boolean switchRoom​(java.lang.String fromRoomID,
                                  java.lang.String toRoomID,
                                  java.lang.String roomName,
                                  int role,
                                  IZegoLoginCompletionCallback callback)
        切换房间 切换房间 调用成功 会停止推拉流(登录房间成功后,需要快速切换到其它房间时使用,,也会停止MultiRoom的拉流)

        注意: 1.支持单房间模式和多房间模式(通过 setRoomMode(int) 开启 MultiRoom)。 2.单房间模式下,切换房间调用成功,会停止所有推拉流。 3.多房间模式下,切换房间调用成功,会停止切出房间 fromRoomID 的所有推拉流

        Parameters:
        fromRoomID - 房间 ID,长度不超过 255 bytes 的可打印字符串
        toRoomID - 房间 ID,长度不超过 255 bytes 的可打印字符串
        roomName - 房间名字,长度不超过 255 bytes 的可见字符串
        role - 用户角色, 详见 ZegoConstants.RoomRole
        callback - 实现 IZegoLoginCompletionCallback 接口的对象实例,用于接收切换房间的结果
        Returns:
        true: 调用成功,false: 调用失败
      • logoutRoom

        public boolean logoutRoom()
        退出房间, 此方法没有回调通知,默认退出房间之后可直接登录别的房间

        注意: 1.支持单房间,不支持多房间模式(通过 setRoomMode(int) 开启 MultiRoom)
        2.多房间模式请使用 logoutRoom(String) 指定房间 ID。

        Returns:
        true:调用成功, false:调用失败
      • logoutRoom

        public boolean logoutRoom​(java.lang.String roomID)
        退出房间, 此方法没有回调通知,默认退出房间之后可直接登录别的房间

        注意: 1.支持单房间,支持多房间模式(通过 setRoomMode(int) 开启 MultiRoom)。 2.多房间模式下必须指明房间 ID,否则调用失败。

        Parameters:
        roomID - 房间 ID
        Returns:
        true:调用成功, false:调用失败
      • updatePlayDecryptKey

        public void updatePlayDecryptKey​(java.lang.String streamId,
                                         byte[] key)
        设置拉流解密密钥.

        注意:仅拉 UDP 流有效,必须在拉流后调用才有效,只用于拉流之后更新密钥

        Parameters:
        streamId - 播放流 ID
        key - 解密密钥,支持16/24/32字节
      • updatePlayView

        public boolean updatePlayView​(java.lang.String streamID,
                                      java.lang.Object view)
        更新播放流的View.
        Parameters:
        streamID - 流 ID, 不能为空,长度不可超过 255 byte,支持可打印字符
        view - 用于渲染视频的view, 推荐使用 TextureView, 也可以使用 SurfaceViewSurface
        Returns:
        true:调用成功, false:调用失败
      • updatePlayView

        public boolean updatePlayView​(java.lang.String streamID,
                                      java.lang.Object view,
                                      boolean alphaBlend)
        更新播放流的View.
        Parameters:
        streamID - 流 ID, 不能为空,长度不可超过 255 byte,支持可打印字符
        view - 用于渲染视频的view, 推荐使用 TextureView, 也可以使用 SurfaceViewSurface
        alphaBlend - 是否开启 alpha 通道混合渲染
        Returns:
        true:调用成功, false:调用失败
      • stopPlayingStream

        public boolean stopPlayingStream​(java.lang.String streamID)
        停止拉流.
        Parameters:
        streamID - 流 ID, 不能为空,长度不可超过 255 byte,支持可打印字符
        Returns:
        true:调用成功,false:调用失败
      • setPlayStreamFocus

        public boolean setPlayStreamFocus​(java.lang.String streamID)
        设置拉流优先级的权重,被置为 focus 的流,优先保证其质量。

        注意: 1.默认所有流的权重相同。
        2.在本地网络不好的时候,保证 focus 流的同时,可能造成其他的卡顿更多。
        3.设置高优先级的流需要在开始拉流后设置,流停止之后自动恢复初始状态,所有流的权重相同。
        4.只能设置一路流是高优先级的,以最后设置的为准。

        Parameters:
        streamID - 流 ID,当为 null 时,恢复初始状态,所有流的权重相同。
        Returns:
        true: 设置成功, false 设置失败
      • respondInviteJoinLiveReq

        public boolean respondInviteJoinLiveReq​(int seq,
                                                int rspResult,
                                                java.lang.String roomID)
        观众响应主播的"连麦邀请"。

        注意: 1.当主播调用 inviteJoinLive(String, IZegoResponseCallback) 后,观众会通过 IZegoLivePlayerCallback.onInviteJoinLiveRequest(int, String, String, String) 收到邀请事件。
        2.当观众收到事件通知后,调用该 API 同意或者拒绝主播的连麦邀请。
        3.支持单房间,支持多房间模式(通过 SetRoomMode 接口开启 MultiRoom)。
        4.多房间模式下必须指明房间 ID,否则调用失败。

        Parameters:
        seq - 连麦请求序列号,标识当次连麦请求
        rspResult - 0:同意, 其它:拒绝
        roomID - 房间 ID
        Returns:
        true:调用成功, false:调用失败
      • endJoinLive

        public boolean endJoinLive​(java.lang.String userId,
                                   java.lang.String roomId,
                                   IZegoEndJoinLiveCallback callback)
        主播向连麦观众发送结束连麦信令。

        注意: 1.支持单房间,支持多房间模式(通过 SetRoomMode 接口开启 MultiRoom)。
        2.多房间模式下必须指明房间 ID,否则调用失败。

        Parameters:
        userId - 指定结束连麦的用户 ID
        roomId - 房间 ID
        callback - 实现 IZegoEndJoinLiveCallback 的对象实例,用于接收调用结果
        Returns:
        true: 调用成功,等待 IZegoEndJoinLiveCallback.onEndJoinLive(int, String) 回调, false: 调用失败
      • getAudioRouteType

        public int getAudioRouteType()
        获取Audio Route类型.
        Returns:
        Audio Route类型,详见 ZegoConstants.AudioRouteType
      • enableSpeaker

        public boolean enableSpeaker​(boolean enable)
        静音开关.
        Parameters:
        enable - true:开启, false:关闭
        Returns:
        true:调用成功, false:调用失败
      • setBuiltInSpeakerOn

        public boolean setBuiltInSpeakerOn​(boolean on)
        内置扬声器开关.
        Parameters:
        on - true:开启, false:关闭
        Returns:
        true:调用成功, false:调用失败
      • setPlayVolume

        public boolean setPlayVolume​(int volume)
        统一设置所有拉流的播放音量.
        Parameters:
        volume - 音量大小, 取值范围[0, 200], 默认 100
        Returns:
        true:调用成功, false:调用失败
      • setPlayVolume

        public boolean setPlayVolume​(int volume,
                                     java.lang.String streamID)
        设置指定拉流的播放音量.
        Parameters:
        volume - 音量大小, 取值范围[0, 200], 默认 100
        streamID - 流ID. ID为空时, 统一设置所有拉流的播放音量
        Returns:
        true:调用成功, false:调用失败
      • getSoundLevelOfStream

        public float getSoundLevelOfStream​(java.lang.String streamID)
        获取当前播放视频的音量.
        Parameters:
        streamID - 流ID
        Returns:
        音量大小
      • setViewBackgroundColor

        public boolean setViewBackgroundColor​(int color,
                                              java.lang.String streamID)
        设置用于拉流的View的背景颜色. 拉流之后有效,本次拉流有效.
        Parameters:
        color - 颜色,取值为0x00RRGGBB
        streamID - 流ID, 不能为空
        Returns:
        true:调用成功, false:调用失败
      • setViewRotation

        public boolean setViewRotation​(int rotation,
                                       java.lang.String streamID)
        设置播放渲染朝向. 拉流之后有效,本次拉流有效.
        Parameters:
        rotation - 逆时针旋转角度(0/90/180/270)
        streamID - 流ID, 不能为空
        Returns:
        true:调用成功, false:调用失败
      • enableViewMirror

        public boolean enableViewMirror​(boolean enable,
                                        java.lang.String streamID)
        开启播放镜像. 拉流之后有效,本次拉流有效.
        Parameters:
        enable - true 开启, false 关闭. 默认 false
        streamID - 流ID, 不能为空
        Returns:
        true:调用成功, false:调用失败
      • setPreviewView

        public boolean setPreviewView​(java.lang.Object view)
        设置本地预览视频的View.
        Parameters:
        view - 用于渲染视频的View, 推荐使用 TextureView, 支持 SurfaceView 或者 Surface
        Returns:
        true: 调用成功, false:调用失败
      • setPreviewView

        public boolean setPreviewView​(java.lang.Object view,
                                      int channelIndex)
        设置本地预览视频的View.
        Parameters:
        view - 用于渲染视频的View, 推荐使用 TextureView, 支持 SurfaceView 或者 Surface
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false:调用失败
      • setPreviewView

        public boolean setPreviewView​(java.lang.Object view,
                                      boolean alphaBlend,
                                      int channelIndex)
        设置本地预览视频的View.
        Parameters:
        view - 用于渲染视频的View, 推荐使用 TextureView, 支持 SurfaceView 或者 Surface
        alphaBlend - 是否开启 alpha 混合图层渲染。
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false:调用失败
      • startPreview

        public boolean startPreview()
        启动本地预览.
        Returns:
        true: 调用成功, false:调用失败
      • startPreview

        public boolean startPreview​(int channelIndex)
        启动本地预览.
        Parameters:
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false:调用失败
      • setVideoCodecId

        public boolean setVideoCodecId​(int codecId,
                                       int channelIndex)
        设置选用分层编码
        Parameters:
        codecId - 选择编解码器模式, 参考 ZegoConstants.ZegoVideoCodecAvc
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false:调用失败
      • setPublishDualStreamConfig

        public boolean setPublishDualStreamConfig​(ZegoPublishDualStreamConfig[] configList,
                                                  int channelIndex)
        设置大小流每层的配置参数
        Parameters:
        configList - 配置参数
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false:调用失败 必须先调用 setVideoCodecId 指定编码器为VIDEO_CODEC_H264_DUAL_STREAM 才有效, 大小层都需设置。 指定的大小流编码分辨率比值一致。例如都为4:3
      • getVideoCodecCapabilityList

        public ZegoCodecCapabilityInfo[] getVideoCodecCapabilityList()
        获取设备支持的编码格式
        Returns:
        设备支持的编码格式列表 SDK初始化后调用 建议在回调SDK初始化成功之后调用该接口
      • setAudioMixMode

        public boolean setAudioMixMode​(int mixMode,
                                       java.util.List<java.lang.String> streamIDs)
        设置多路混音时突出的拉流通道,当有多路流同时发声,将突出streamIDs中的流

        注意:
        1. 任意时刻调用有效,退出房间后重置状态
        2. 当mixMode为ZegoAudioMixMode.Focused且streamIDs为空时,自动挑选突出最多4路流;
        3. 当mixMode为ZegoAudioMixMode.Focused且所有设置的流都没在拉时,自动挑选突出最多4路流;

        Parameters:
        mixMode - 参考 ZegoConstants.ZegoAudioMixMode
        streamIDs - 需要突出的拉流ID,最多有4个
        Returns:
        true: 设置成功, false 设置失败
      • enablePlayVirtualStereo

        public boolean enablePlayVirtualStereo​(boolean enable,
                                               int angle,
                                               java.lang.String streamID)
        设置拉的流的虚拟立体声源相对于本端的角度,可以实现空间音频效果
        Parameters:
        enable - true 开启,false 关闭,默认关闭
        angle - 虚拟立体声中声源的角度,范围为0~360,90为正前方,0对应正右方
        streamID - 流 ID
        Returns:
        true: 设置成功, false 设置失败
      • stopPreview

        public boolean stopPreview()
        结束本地预览.
        Returns:
        true: 调用成功, false:调用失败
      • stopPreview

        public boolean stopPreview​(int channelIndex)
        结束本地预览.
        Parameters:
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false:调用失败
      • setPublishEncryptKey

        public void setPublishEncryptKey​(byte[] key,
                                         int channelIndex)
        设置推流加密密钥.

        注意:仅推 UDP 流有效,必须在 initSDK 之后调用才有效

        Parameters:
        key - 加密密钥,支持16/24/32字节
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
      • setVideoSource

        public boolean setVideoSource​(int srcType,
                                      int channelIndex)
        设置采集视频源类型

        注意: 1. 当 srcType 设置为 VIDEO_SRC_EXTERNAL_CAPTURE 但对应通道没有外部采集工厂时,将自动修正为 VIDEO_SRC_CAMERA;
        2. 当 srcType 设置为 VIDEO_SRC_NONE 时,表示不启动视频采集,即没有视频数据,支持在主路和辅路使用;
        3. 当 srcType 设置为 VIDEO_SRC_DEFAULT 时,如果有设置外部视频采集工厂,则使用外部采集,否则使用内部采集;
        4. 当 srcType 设置为 VIDEO_SRC_CAMERA 时,即使设置了外部视频采集工厂,也会使用摄像头作为视频数据源;
        5. 当 index 为 PUBLISH_CHN_MAIN 时,srcType 不能设置为 VIDEO_SRC_MAIN_PUBLISH_CHN 和 VIDEO_SRC_PLAYER;
        6. 当 index 为 PUBLISH_CHN_AUX 且 srcType 设置为 VIDEO_SRC_MAIN_PUBLISH_CHN 时,需要 PUBLISH_CHN_MAIN 有设备工作,否则 PUBLISH_CHN_AUX 无法正常推出视频数据;
        7. 当 index 为 PUBLISH_CHN_AUX 且 srcType 设置为 VIDEO_SRC_PLAYER 时,需要 PUBLISH_CHN_MAIN 有设备工作,否则媒体播放器无法正常循环播放;
        8. 当 srcType 设置为有实例的视频源类型时,例如:VIDEO_SRC_PLAYER,默认使用实例 ID 为 0 的实例;
        9. 一旦使用过此 API 设置采集视频源类型,在停止推流时,SDK 不会重置视频采集源类型;

        Parameters:
        srcType - 源类型,参见 ZegoConstants.ZegoVideoSourceType 定义
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true 设置成功,false 设置失败
      • setVideoSource

        public boolean setVideoSource​(int srcType,
                                      int instanceID,
                                      int channelIndex)
        设置采集视频源类型

        注意: 1. 当 srcType 设置为 VIDEO_SRC_EXTERNAL_CAPTURE 但对应通道没有外部采集工厂时,将自动修正为 VIDEO_SRC_CAMERA;
        2. 当 srcType 设置为 VIDEO_SRC_NONE 时,表示不启动视频采集,即没有视频数据;
        3. 当 srcType 设置为 VIDEO_SRC_DEFAULT 时,如果有设置外部视频采集工厂,则使用外部采集,否则使用内部采集;
        4. 当 srcType 设置为 VIDEO_SRC_CAMERA 时,即使设置了外部视频采集工厂,也会使用摄像头作为视频数据源;
        5. 当 index 为 PUBLISH_CHN_MAIN 时,srcType 不能设置为 VIDEO_SRC_MAIN_PUBLISH_CHN 和 VIDEO_SRC_PLAYER;
        6. 当 index 为 PUBLISH_CHN_AUX 且 srcType 设置为 VIDEO_SRC_MAIN_PUBLISH_CHN 时,需要 PUBLISH_CHN_MAIN 有设备工作,否则 PUBLISH_CHN_AUX 无法正常推出视频数据;
        7. 当 index 为 PUBLISH_CHN_AUX 且 srcType 设置为 VIDEO_SRC_PLAYER 时,需要 PUBLISH_CHN_MAIN 有设备工作,否则媒体播放器无法正常循环播放; 8. 一旦使用过此 API 设置采集视频源类型,在停止推流时,SDK 不会重置视频采集源类型;

        Parameters:
        srcType - 源类型,参见 ZegoConstants.ZegoVideoSourceType 定义
        instanceID - 使用媒体播放器采集源时,所使用的媒体播放器实例 ID
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true 设置成功,false 设置失败
      • setAudioSource

        public boolean setAudioSource​(int srcType,
                                      int channelIndex)
        设置采集音频源类型

        注意: 1. 当 srcType 设置为 AUDIO_SRC_NONE 时,表示不启动音频采集,即没有音频数据;
        2. 当 index 为 PUBLISH_CHN_MAIN 时,srcType 不能设置为 AUDIO_SRC_MAIN_PUBLISH_CHN 和 AUDIO_SRC_PLAYER;
        3. 一旦使用过此 API 设置采集音频源类型,在停止推流时,SDK 不会重置音频采集源类型;

        Parameters:
        srcType - 源类型,参见 ZegoConstants.ZegoAudioSourceType 定义
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true 设置成功,false 设置失败
      • stopPublishing

        public boolean stopPublishing()
        停止推流.
        Returns:
        true: 调用成功, false: 调用失败
      • stopPublishing

        public boolean stopPublishing​(int channelIndex)
        停止推流.
        Parameters:
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • respondJoinLiveReq

        public boolean respondJoinLiveReq​(int seq,
                                          int rspResult,
                                          java.lang.String roomID)
        主播响应观众的"连麦请求"。

        注意: 1.当观众调用 requestJoinLive(IZegoResponseCallback) 后,主播会通过 IZegoLivePublisherCallback.onJoinLiveRequest(int, String, String, String) 收到请求事件
        2.当主播收到事件通知后,调用该 API 同意或者拒绝观众的连麦请求。
        3.支持单房间,支持多房间模式(通过 setRoomMode(int) 开启 MultiRoom)
        4.多房间模式下必须指明房间 ID,否则调用失败。

        Parameters:
        seq - 连麦请求序列号,标识当次连麦请求
        rspResult - 响应结果,0:同意,其它:拒绝
        roomID - 房间 ID
        Returns:
        true: 调用成功,false: 调用失败
      • setAVConfig

        public boolean setAVConfig​(ZegoAvConfig zegoAvConfig)
        设置推流配置.
        Parameters:
        zegoAvConfig - 配置信息.
        Returns:
        true: 调用成功, false: 调用失败
      • setAVConfig

        public boolean setAVConfig​(ZegoAvConfig zegoAvConfig,
                                   int channelIndex)
        设置推流配置.
        Parameters:
        zegoAvConfig - 配置信息.
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setAVConfigInner

        public boolean setAVConfigInner​(ZegoAvConfig zegoAvConfig,
                                        int channelIndex)
      • setVideoKeyFrameInterval

        public boolean setVideoKeyFrameInterval​(int intervalSecond)
        设置视频关键帧间隔.
        Parameters:
        intervalSecond - 关键帧间隔,单位为秒,默认2秒
        Returns:
        true: 调用成功, false: 调用失败
      • setVideoKeyFrameInterval

        public boolean setVideoKeyFrameInterval​(int intervalSecond,
                                                int channelIndex)
        设置视频关键帧间隔.
        Parameters:
        intervalSecond - 关键帧间隔,单位为秒,默认2秒
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setAppOrientation

        public boolean setAppOrientation​(int orientation)
        设置app朝向.
        Parameters:
        orientation - 可取值为:Surface.ROTATION_0Surface.ROTATION_90Surface.ROTATION_180Surface.ROTATION_270
        Returns:
        true: 调用成功, false: 调用失败
      • setAppOrientation

        public boolean setAppOrientation​(int orientation,
                                         int channelIndex)
        设置app朝向.
        Parameters:
        orientation - 可取值为:Surface.ROTATION_0Surface.ROTATION_90Surface.ROTATION_180Surface.ROTATION_270
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setLoopbackVolume

        public void setLoopbackVolume​(int volume)
        设置采集监听音量
        Parameters:
        volume - 音量大小,取值范围 [0, 200], 默认 60 推流时可调用本 API 进行参数配置
      • setCaptureVolume

        public void setCaptureVolume​(int volume)
        设置采集音量
        Parameters:
        volume - 音量大小,取值范围 [0, 200], 默认 100 SDK初始化成功后调用
      • enableBeautifying

        public boolean enableBeautifying​(int feature)
        开启美颜。

        注意:必须在 initSDK(long, byte[]) 后调用

        Parameters:
        feature - 美颜特性,详细定义见 ZegoBeauty。默认无美颜
        Returns:
        true 表示调用成功,false 表示调用失败。
      • enableBeautifying

        public boolean enableBeautifying​(int feature,
                                         int channelIndex)
        开启美颜。

        注意:必须在 initSDK(long, byte[]) 后调用

        Parameters:
        feature - 美颜特性,详细定义见 ZegoBeauty。默认无美颜
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setPolishStep

        public boolean setPolishStep​(float step)
        设置美颜磨皮的采样步长。

        注意:必须在 initSDK(long, byte[]) 后调用,设置时需确保对应美颜特性开启

        Parameters:
        step - 采样半径,取值范围 [1.0, 16.0]。默认值 4.0
        Returns:
        true 表示调用成功,false 表示调用失败。
        See Also:
        enableBeautifying(int), enableBeautifying(int, int)
      • setPolishStep

        public boolean setPolishStep​(float step,
                                     int channelIndex)
        设置美颜磨皮的采样步长.
        Parameters:
        step - 采样半径, 取值范围[1,16]
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setPolishFactor

        public boolean setPolishFactor​(float factor)
        设置美颜采样颜色阈值.
        Parameters:
        factor - 取值范围[0,16]
        Returns:
        true: 调用成功, false: 调用失败
      • setPolishFactor

        public boolean setPolishFactor​(float factor,
                                       int channelIndex)
        设置美颜采样颜色阈值。

        注意:必须在 initSDK(long, byte[]) 后调用,设置时需确保对应美颜特性开启

        Parameters:
        factor - 采样颜色阈值,取值范围 [0.0, 16.0]。默认值 4.0
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
        See Also:
        enableBeautifying(int), enableBeautifying(int, int)
      • setWhitenFactor

        public boolean setWhitenFactor​(float factor)
        设置美颜美白的亮度修正参数。

        注意:必须在 initSDK(long, byte[]) 后调用,设置时需确保对应美颜特性开启

        Parameters:
        factor - 亮度修正参数,取值范围 [0, 1],值越大,亮度越暗。默认值 0.5
        Returns:
        true 表示调用成功,false 表示调用失败。
        See Also:
        enableBeautifying(int), enableBeautifying(int, int)
      • setWhitenFactor

        public boolean setWhitenFactor​(float factor,
                                       int channelIndex)
        设置美颜美白的亮度修正参数。

        注意:必须在 initSDK(long, byte[]) 后调用,设置时需确保对应美颜特性开启

        Parameters:
        factor - 亮度修正参数,取值范围 [0, 1],值越大,亮度越暗。默认值 0.5
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
        See Also:
        enableBeautifying(int), enableBeautifying(int, int)
      • setSharpenFactor

        public boolean setSharpenFactor​(float factor)
        设置锐化参数。

        注意:必须在 initSDK(long, byte[]) 后调用,设置时需确保对应美颜特性开启

        Parameters:
        factor - 锐化参数,取值范围[0, 2],值越大,锐化越强。默认值 0.2
        Returns:
        true 表示调用成功,false 表示调用失败。
        See Also:
        enableBeautifying(int), enableBeautifying(int, int)
      • setSharpenFactor

        public boolean setSharpenFactor​(float factor,
                                        int channelIndex)
        设置锐化参数。

        注意:必须在 initSDK(long, byte[]) 后调用,设置时需确保对应美颜特性开启

        Parameters:
        factor - 锐化参数,取值范围[0, 2],值越大,锐化越强。默认值 0.2
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
        See Also:
        enableBeautifying(int), enableBeautifying(int, int)
      • setFilter

        public boolean setFilter​(int filter)
        设置滤镜。

        注意:必须在 initSDK(long, byte[]) 后调用

        Parameters:
        filter - 滤镜种类,详细定义见 ZegoFilter。默认不使用滤镜
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setFilter

        public boolean setFilter​(int filter,
                                 int channelIndex)
        设置滤镜。

        注意:必须在 initSDK(long, byte[]) 后调用

        Parameters:
        filter - 滤镜种类,详细定义见 ZegoFilter。默认不使用滤镜
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setLowlightEnhancement

        public boolean setLowlightEnhancement​(int mode,
                                              int channelIndex)
        Parameters:
        mode - 低照度增强模式,参考 ZegoConstants.ZegoLowlightEnhanceMode
        channelIndex - 推流 channel Index。
      • setPreviewViewMode

        public boolean setPreviewViewMode​(int mode)
        设置预览模式.
        Parameters:
        mode - 参考 ZegoVideoViewMode
        Returns:
        true: 调用成功, false: 调用失败
      • setPreviewViewMode

        public boolean setPreviewViewMode​(int mode,
                                          int channelIndex)
        设置预览模式.
        Parameters:
        mode - 参考 ZegoVideoViewMode
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setPreviewViewBackgroundColor

        public boolean setPreviewViewBackgroundColor​(int color)
        设置预览控件的背景颜色
        Parameters:
        color - 颜色,取值为0x00RRGGBB
        Returns:
        true: 调用成功, false: 调用失败
      • setPreviewViewBackgroundColor

        public boolean setPreviewViewBackgroundColor​(int color,
                                                     int channelIndex)
        设置预览控件的背景颜色
        Parameters:
        color - 颜色,取值为0x00RRGGBB
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setPreviewRotation

        public boolean setPreviewRotation​(int rotation)
        设置预览朝向.
        Parameters:
        rotation - 逆时针旋转角度(0/90/180/270)
        Returns:
        true: 调用成功, false: 调用失败
      • setPreviewRotation

        public boolean setPreviewRotation​(int rotation,
                                          int channelIndex)
        设置预览朝向.
        Parameters:
        rotation - 逆时针旋转角度(0/90/180/270)
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setCaptureFrameRotation

        public boolean setCaptureFrameRotation​(int rotation,
                                               int channelIndex)
        设置采集旋转角度.

        注意:在initSDK后调用,uninitSDK前有效。支持在推流时调用。

        Parameters:
        rotation - 逆时针旋转角度(0/90/180/270)。默认 0
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • enablePreviewMirror

        public boolean enablePreviewMirror​(boolean enable)
        预览镜像开关.
        Parameters:
        enable - true:开启, false:关闭
        Returns:
        true: 调用成功, false: 调用失败
      • enablePreviewMirror

        public boolean enablePreviewMirror​(boolean enable,
                                           int channelIndex)
        预览镜像开关.
        Parameters:
        enable - true:开启, false:关闭
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • enableCaptureMirror

        public boolean enableCaptureMirror​(boolean enable)
        采集镜像开关.
        Parameters:
        enable - true:开启, false:关闭
        Returns:
        true: 调用成功, false: 调用失败
      • enableCaptureMirror

        public boolean enableCaptureMirror​(boolean enable,
                                           int channelIndex)
        采集镜像开关.
        Parameters:
        enable - true:开启, false:关闭
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setVideoMirrorMode

        public boolean setVideoMirrorMode​(int mode,
                                          int channelIndex)
        是否启用预览和推流镜像
        Parameters:
        mode - mode 镜像模式, 参考 ZegoConstants.ZegoVideoMirrorMode, 默认启用预览镜像,不启用推流镜像
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • enableRateControl

        public boolean enableRateControl​(boolean enable)
        码率控制开关(在带宽不足的情况下码率自动适应当前带宽)

        注意:1. 在推流之前设置有效;
        2. 只适用于 RTMP 推流。

        Parameters:
        enable - true:开启, false:关闭
        Returns:
        true: 调用成功, false: 调用失败
      • enableRateControl

        public boolean enableRateControl​(boolean enable,
                                         int channelIndex)
        码率控制开关(在带宽不足的情况下码率自动适应当前带宽)

        注意:1. 在推流之前设置有效;
        2. 只适用于 RTMP 推流。

        Parameters:
        enable - true:开启, false:关闭
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • setVideoEncoderRateControlConfig

        public void setVideoEncoderRateControlConfig​(int strategy,
                                                     int encoderCRF)
        设置编码器码率控制策略
        Parameters:
        strategy - 策略配置
        encoderCRF - 恒定质量参数, 参考 ZegoConstants.VideoEncoderRateControlStrategy 当策略为恒定质量(ZEGOAPI_RC_VBR/ZEGOAPI_RC_CRF)有效,取值范围 [0~51],越小质量越好,但是码率会相应变大。建议取值范围 [18, 28]
      • setVideoEncoderRateControlConfig

        public void setVideoEncoderRateControlConfig​(int strategy,
                                                     int encoderCRF,
                                                     int channelIndex)
        设置编码器码率控制策略
        Parameters:
        strategy - 策略配置
        encoderCRF - 恒定质量参数, 参考 ZegoConstants.VideoEncoderRateControlStrategy 当策略为恒定质量(ZEGOAPI_RC_VBR/ZEGOAPI_RC_CRF)有效,取值范围 [0~51],越小质量越好,但是码率会相应变大。建议取值范围 [18, 28]
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
      • setFrontCam

        public boolean setFrontCam​(boolean front)
        前置摄像头开关.
        Parameters:
        front - true:开启, false:关闭
        Returns:
        true: 调用成功, false: 调用失败
      • setFrontCam

        public boolean setFrontCam​(boolean front,
                                   int channelIndex)
        前置摄像头开关.
        Parameters:
        front - true:开启, false:关闭
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • enableMic

        public boolean enableMic​(boolean enable)
        麦克风开关.
        Parameters:
        enable - true:开启, false:关闭
        Returns:
        true: 调用成功, false: 调用失败
      • enableMicDevice

        public boolean enableMicDevice​(boolean enable)
        设置是否允许SDK使用麦克风设备。调用时机为引擎创建后的任意时刻。接口由于涉及对设备的操作,极为耗时,不建议随便调用,只在真正需要让出麦克风给其他应用的时候才调用。
        Parameters:
        enable - true 表示允许使用麦克风,false 表示禁止使用麦克风,此时如果SDK在占用麦克风则会立即释放。默认是允许使用的。
        Returns:
        true: 调用成功, false: 调用失败
      • enableCamera

        public boolean enableCamera​(boolean enable)
        摄像头开关.
        Parameters:
        enable - true:开启, false:关闭
        Returns:
        true: 调用成功, false: 调用失败
      • enableCamera

        public boolean enableCamera​(boolean enable,
                                    int channelIndex)
        摄像头开关.
        Parameters:
        enable - true:开启, false:关闭
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • enableTorch

        public boolean enableTorch​(boolean enable)
        手电筒开关.
        Parameters:
        enable - true:开启, false:关闭
        Returns:
        true: 调用成功, false: 调用失败
      • enableTorch

        public boolean enableTorch​(boolean enable,
                                   int channelIndex)
        手电筒开关.
        Parameters:
        enable - true:开启, false:关闭
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true: 调用成功, false: 调用失败
      • getCaptureSoundLevel

        public float getCaptureSoundLevel()
        获取采集音量大小.
        Returns:
        采集音量大小
      • sendRealtimeSequentialData

        public int sendRealtimeSequentialData​(java.nio.ByteBuffer data,
                                              int channelIndex)
        发送通过流传输的实时有序数据

        注意:
        必须在 channelIndex 指定通道推流成功后,才可以发送,否则会失败。
        发送频率不超过每秒 200 次。
        接收方通过设置 setZegoRealtimeSequentialDataCallback 获取。

        Parameters:
        data - 数据,不超过 4096 字节。使用 ByteBuffer.allocateDirect 方法。
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        大于 0 表示调用 seq,-1 表示失败
      • setZegoNetTypeCallback

        public void setZegoNetTypeCallback​(IZegoNetTypeCallback callback)
        设置接收网络状态切换的回调
        Parameters:
        callback - 回调接口,详见 IZegoNetTypeCallback 类。
      • setZegoRealtimeSequentialDataCallback

        public void setZegoRealtimeSequentialDataCallback​(IZegoRealtimeSequentialDataCallback callback)
        设置实时有序数据回调
        Parameters:
        callback - 回调接口,详见 IZegoRealtimeSequentialDataCallback 类。
      • setRunLoopObserveCallback

        public void setRunLoopObserveCallback​(IZegoRunLoopObserveCallback callback)
        设置runloop observe回调 建议每次initSDK前调用 unInitSDK 会清除此回调
        Parameters:
        callback - runloop 的callback接口
      • setDumpDataCallback

        public void setDumpDataCallback​(IZegoDumpDataCallback callback)
        设置转储数据的回调
        Parameters:
        callback - 回调接口,详见 IZegoDumpDataCallback 类。
      • setDummyCaptureImagePath

        public static boolean setDummyCaptureImagePath​(java.lang.String imagePath,
                                                       int channelIndex)
        设置关闭摄像头时所推静态图片的路径。

        注意: 1.在initSDK后,关闭摄像头前调用。
        2.支持推静态图片时调用此 API 动态更换静态图片。 3.不支持图片路径是网络链接

        Parameters:
        imagePath - 图片路径。如果是完整路径则添加 "file:" 前缀,如:"file:/sdcard/image.png";assets 目录下的图片则添加 "asset:" 前缀,如:"asset:watermark.png"
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setDummyCaptureImagePath

        public static boolean setDummyCaptureImagePath​(android.net.Uri imageUri,
                                                       int channelIndex)
        设置关闭摄像头时所推静态图片的路径。

        注意: 1.在initSDK后,关闭摄像头前调用。
        2.支持推静态图片时调用此 API 动态更换静态图片。 3.不支持图片路径是网络链接

        Parameters:
        imageUri - 图片路径,比如通过 Intent.ACTION_GET_CONTENT 请求到的图片 Uri
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setWaterMarkImagePath

        public static boolean setWaterMarkImagePath​(java.lang.String imagePath)
        设置水印图片的路径。 注意:必须在 setSDKContext(SDKContext) 后调用。
        Parameters:
        imagePath - 图片路径。如果是完整路径则添加 "file:" 前缀,如:"file:/sdcard/image.png";assets 目录下的图片则添加 "asset:" 前缀,如:"asset:watermark.png"
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setWaterMarkImagePath

        public static boolean setWaterMarkImagePath​(android.net.Uri imageUri)
        设置水印图片的路径。 注意:必须在 setSDKContext(SDKContext) 后调用。
        Parameters:
        imageUri - 图片路径,比如通过 Intent.ACTION_GET_CONTENT 请求到的图片 Uri
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setWaterMarkImagePath

        public static boolean setWaterMarkImagePath​(java.lang.String imagePath,
                                                    int channelIndex)
        设置水印图片的路径。 注意:必须在 setSDKContext(SDKContext) 后调用。
        Parameters:
        imagePath - 图片路径。如果是完整路径则添加 "file:" 前缀,如:"file:/sdcard/image.png";assets 目录下的图片则添加 "asset:" 前缀,如:"asset:watermark.png"
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setWaterMarkImagePath

        public static boolean setWaterMarkImagePath​(android.net.Uri imageUri,
                                                    int channelIndex)
        设置水印图片的路径。 注意:必须在 setSDKContext(SDKContext) 后调用。
        Parameters:
        imageUri - 图片路径,比如通过 Intent.ACTION_GET_CONTENT 请求到的图片 Uri
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setPreviewWaterMarkRect

        public static boolean setPreviewWaterMarkRect​(android.graphics.Rect rect)
        设置预览水印图片的位置。

        预览时添加水印,需要调用此函数。 注意:必须在 setSDKContext(SDKContext) 后调用。

        Parameters:
        rect - 水印图片的位置,左上角为坐标系原点,区域不能超过设置的推流编码分辨率。
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setPreviewWaterMarkRect

        public static boolean setPreviewWaterMarkRect​(android.graphics.Rect rect,
                                                      int channelIndex)
        设置预览水印图片的位置。

        预览时添加水印,需要调用此函数。 注意:必须在 setSDKContext(SDKContext) 后调用。

        Parameters:
        rect - 水印图片的位置,左上角为坐标系原点,区域不能超过设置的推流编码分辨率。
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setPublishWaterMarkRect

        public static boolean setPublishWaterMarkRect​(android.graphics.Rect rect)
        设置推流水印图片的位置。

        开播时添加水印,需要调用此函数。 注意:必须在 setSDKContext(SDKContext) 后调用。

        Parameters:
        rect - 水印图片的位置,左上角为坐标系原点,区域不能超过设置的推流编码分辨率。
        Returns:
        true 表示调用成功,false 表示调用失败。
        See Also:
        setSDKContext(SDKContext)
      • setPublishWaterMarkRect

        public static boolean setPublishWaterMarkRect​(android.graphics.Rect rect,
                                                      int channelIndex)
        设置推流水印图片的位置。

        开播时添加水印,需要调用此函数。 注意:必须在 setSDKContext(SDKContext) 后调用。

        Parameters:
        rect - 水印图片的位置,左上角为坐标系原点,区域不能超过设置的推流编码分辨率。
        channelIndex - 推流通道 index,详细定义见 PublishChannelIndex
        Returns:
        true 表示调用成功,false 表示调用失败。
      • setLogPath

        @Deprecated
        public static void setLogPath​(java.lang.String logPath)
        Deprecated.
        请使用 setSDKContext(SDKContext) 方法替代
        自定义日志路径。
        Parameters:
        logPath - 日志路径
      • setUser

        public static boolean setUser​(java.lang.String userID,
                                      java.lang.String userName)
        设置用户信息.

        注意:必须在登录房间之前设置,为解决不必要的其他问题,建议在 initSDK(long, byte[])之前就设置。

        Parameters:
        userID - 用户的唯一标识,开发者的App内必须保证唯一,否则会出现相同userid登录房间时被踢出房间的问题。不能包含特殊字符。
        userName - 用户名,不能包含特殊字符
        Returns:
        true:设置成功, fale:设置失败
        See Also:
        setSDKContext(SDKContext)
      • setTestEnv

        public static void setTestEnv​(boolean useTestEnv)
        测试环境开关.业务上线时需将此接口设置为 false ,或将该接口注释。
        Parameters:
        useTestEnv - true:打开, false:关闭
        See Also:
        setSDKContext(SDKContext)
      • version

        public static java.lang.String version()
        获取 SDK 版本信息.

        一般为ZEGO技术人员定位问题时需要知道开发者当前使用的 ZEGO SDK 的版本信息

        Returns:
        SDK 版本信息.
        See Also:
        setSDKContext(SDKContext)
      • version2

        public static java.lang.String version2()
        获取 Video Engine 版本信息.

        一般为ZEGO技术人员定位问题时需要知道开发者当前使用的 ZEGO SDK 内部音视频引擎的版本信息

        Returns:
        video engine 版本信息
        See Also:
        setSDKContext(SDKContext)
      • setVerbose

        public static void setVerbose​(boolean onVerbose)
        调试信息输出开关.启用后,控制台会输出用户调用信息,并且会在SDK日志目录生成 明文的用户可见的日志文件,建议InitSDK前调用
        Parameters:
        onVerbose - true:打开, fale:关闭
        See Also:
        setSDKContext(SDKContext)
      • uploadLog

        public static void uploadLog()
        上传 log 到 ZEGO 服务器,

        ZEGO SDK 在生命周期内会在设备本地打印日志。

        开发者业务为监控定位线上问题,可以在使用 ZEGO SDK 过程中针对用户反馈问题时调用此接口,将 ZEGO SDK 在设备上打印的本地日志文件上传到ZEGO服务器,以便ZEGO技术人员分析

        注意:在初始化 SDK 成功后才能调用,即该接口在 ZEGO SDK 的生命周期内有效。

        See Also:
        setSDKContext(SDKContext)
      • setBusinessType

        public static void setBusinessType​(int type)
        设置业务类型.
        Parameters:
        type - 0:直播, 2:视频通话
        See Also:
        setSDKContext(SDKContext)
      • getMaxPlayChannelCount

        public static int getMaxPlayChannelCount()
        获取最大拉流路数.
        Returns:
        拉流路数
        See Also:
        setSDKContext(SDKContext)
      • getMaxPublishChannelCount

        public static int getMaxPublishChannelCount()
        获取最大推流路数.
        Returns:
        推流路数
        See Also:
        setSDKContext(SDKContext)
      • requireHardwareEncoder

        public static boolean requireHardwareEncoder​(boolean require)
        开启/关闭推流硬件编码。

        注意: 1. 必须在推流前设置;
        2. 在反初始化 SDK 前,设置的值一直有效;
        3. 打开硬编硬解开关需后台可控,避免碰到版本升级或者硬件升级时出现硬编硬解失败的问题;
        4. 如果想单独控制某推流通道的硬编码开关,请参考:requireHardwareEncoderByChannel(boolean, int)

        Parameters:
        require - true:开启, false:关闭
        Returns:
        true:调用成功; false:调用失败
        See Also:
        setSDKContext(SDKContext)
      • requireHardwareEncoderByChannel

        public boolean requireHardwareEncoderByChannel​(boolean require,
                                                       int channelIndex)
        为某个推流道通单独开启/关闭推流硬件编码。

        注意: 1. 必须在推流前设置;
        2. 在反初始化 SDK 前,设置的值一直有效;
        3. 打开硬编硬解开关需后台可控,避免碰到版本升级或者硬件升级时出现硬编硬解失败的问题;
        4. 如果想统一控制所有通道的硬编码开关,请参考:requireHardwareEncoder(boolean)
        5. 通过此 API 设置的值会与通过 requireHardwareEncoder(boolean) 设置的值相互覆盖,具体取决于其调用顺序。

        Parameters:
        require - true 开启,false 关闭。如果有调用 requireHardwareEncoder(boolean) 设置,则默认为 requireHardwareEncoder(boolean) 设置的值,否则默认为 false
        channelIndex - 推流通道 index,详细定义见 ZegoConstants.PublishChannelIndex
        Returns:
        true 成功,false 失败
      • requireHardwareDecoderByStream

        public boolean requireHardwareDecoderByStream​(boolean require,
                                                      java.lang.String streamID)
        为指定拉流通道开启/关闭拉流硬件解码,当 streamID 为 null 或者 "" 时为所有拉流道通开启/关闭硬件解码.

        注意: 1. 必须在调用拉流接口 StartPlayingStream 或 StartPlayingStream2 前设置;
        2. 在反初始化 SDK 前,设置的值一直有效;
        3. 如果想统一控制所有拉流通道的硬解码开关,请使用 requireHardwareDecoder(boolean)
        4. 可通过此 API 设置指定流通道的的硬解码特性;
        5. 指定流的值会与全局值相互覆盖,具体取决于其调用顺序。

        Parameters:
        require - true:开启, false:关闭
        streamID - 拉流流 ID,当为 null 或者 "" 时为所有拉流道通开启/关闭硬件解码
        Returns:
        true:调用成功; false:调用失败
        See Also:
        setSDKContext(SDKContext), requireHardwareDecoder(boolean)
      • setPlayQualityMonitorCycle

        public static boolean setPlayQualityMonitorCycle​(long timeInMS)
        设置拉流质量监控周期.
        Parameters:
        timeInMS - 时间周期,单位为毫秒,取值范围:(500, 60000)。大于3000必须为3000整数倍,否则sdk会自动向上取整(比如设置为5000,sdk内部会取整为6000),默认为 3000
        Returns:
        true:调用成功;false:调用失败
        See Also:
        setSDKContext(SDKContext)
      • setPublishQualityMonitorCycle

        public static boolean setPublishQualityMonitorCycle​(long timeInMS)
        设置推流质量监控周期.

        注意:必须在推流前设置才能生效。该设置会影响 IZegoLivePublisherCallback.onPublishQualityUpdate(String, ZegoPublishStreamQuality) 的回调频率

        Parameters:
        timeInMS - 时间周期,单位为毫秒,取值范围:(500, 60000)。大于3000必须为3000整数倍,否则sdk会自动向上取整(比如设置为5000,sdk内部会取整为6000),默认为 3000
        Returns:
        true:调用成功;false:调用失败
      • setAudioEqualizerGain

        @Deprecated
        public boolean setAudioEqualizerGain​(int bandIndex,
                                             float bandGain)
        Deprecated.
        请使用 ZegoAudioProcessing#setAudioEqualizerGain(int, float)
        音效均衡器

        注意:在InitSDK之后调用。使用此接口前请与即构技术支持联系确认是否支持此功能

        Parameters:
        bandIndex - 取值范围[0, 9]。分别对应10个频带,其中心频率分别是[31, 62, 125, 250, 500, 1K, 2K, 4K, 8K, 16K]Hz
        bandGain - 取值范围[-15, 15]。默认值是0,如果所有频带的增益值全部为0,则会关闭EQ功能
        Returns:
        true 调用成功,false 调用失败
      • setAudioPrepCallback

        public void setAudioPrepCallback​(IZegoAudioPrepCallback2 callback,
                                         ZegoExtPrepSet config)
        设置音频前(3A处理后、耳返前)处理回调, 并开启/关闭音频前处理特性

        注意: 必须在 initSDK(long, byte[]) 后,在调用预览,拉流,推流,启动播放器接口前设置

        Parameters:
        callback - 音频前处理回调实例,该接口设置的回调处理音频影响耳返效果
        config - 预处理参数,包括是否对原始数据进行编码、采样率、声道数等。 SDK 根据设置的参数返回采集的音频数据
      • setAudioPrepAfterLoopbackCallback

        public void setAudioPrepAfterLoopbackCallback​(IZegoAudioProcCallback callback,
                                                      ZegoExtPrepSet config)
        设置音频(耳返后)处理回调, 并开启/关闭音频处理特性

        注意: 必须在 initSDK(long, byte[]) 之后推流前调用

        Parameters:
        callback - 音频处理回调实例,该接口设置的回调处理音频不影响耳返效果
        config - 预处理参数,包括是否对原始数据进行编码、采样率、声道数等。 SDK 根据设置的参数返回采集的音频数据
      • setAudioPostpCallback

        public void setAudioPostpCallback​(IZegoAudioPostpCallback callback,
                                          ZegoExtPrepSet config)
        设置音频后处理回调,仅在 enableAudioPostp(boolean, String) 设置为 true 时才会回调

        注意: 必须在 initSDK(long, byte[]) 后,在调用预览,拉流,推流,启动播放器接口前设置

        Parameters:
        callback - 音频后处理回调实例, 当 callback 为空时,会忽略后面的参数
        config - 预处理参数,包括是否对原始数据进行编码、采样率、声道数等。 SDK 根据设置的参数返回采集的音频数据
        See Also:
        enableAudioPostp(boolean, String)
      • setAudioBitrate

        public boolean setAudioBitrate​(int bitrate)
        设置主通道音频码率.
        Parameters:
        bitrate - 码率,单位 b/s
        Returns:
        true:调用成功;false:调用失败
      • setAudioBitrate

        public boolean setAudioBitrate​(int bitrate,
                                       int channelIndex)
        设置音频码率.
        Parameters:
        bitrate - 码率,单位 b/s
        channelIndex - 推流通道,详细定义见 ZegoConstants.PublishChannelIndex
        Returns:
        true:调用成功;false:调用失败
      • enableAGC

        public void enableAGC​(boolean enable)
        音频采集自动增益开关. 默认情况下,SDK 内部会自动判断是否需要使用 AGC。一旦调用了此函数,SDK 将不再自动判断。
        Parameters:
        enable - 是否开启
      • enableAEC

        public void enableAEC​(boolean enable)
        回声消除开关
        Parameters:
        enable - true: 开启;false: 关闭
      • setAECMode

        public void setAECMode​(int mode)
        设置回声消除模式
        Parameters:
        mode - 回声消除模式, 参考 ZegoConstants.AECMode
      • sendCustomCommand

        public boolean sendCustomCommand​(ZegoUser[] listMember,
                                         java.lang.String content,
                                         java.lang.String roomID,
                                         IZegoCustomCommandCallback callback)
        发送自定义消息.

        注意: 1.发送成功后,指定用户会通过 IZegoRoomCallback.onRecvCustomCommand(String, String, String, String) 接收此消息
        2.支持单房间模式,也支持多房间模式(通过 setRoomMode(int))。
        3.多房间模式下必须指明房间 ID,否则调用失败。

        Parameters:
        listMember - 接受消息的用户列表。如果不指定接受人,将不会给房间内的人发送消息,即消息发送失败。
        content - 消息内容
        roomID - 房间 ID
        callback - 消息发送结果
        Returns:
        true: 发送成功; false: 发送失败
      • setCustomCDNPublishTarget

        public boolean setCustomCDNPublishTarget​(ZegoCDNPublishTarget target,
                                                 int channelIndex)
        设置自定义直推CDN的配置,可支持TCP, QUIC协议
        Parameters:
        target - 自定义直推CDN的配置,参考 ZegoCDNPublishTarget
        channelIndex - 推流通道index, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        true 设置成功,false 设置失败
      • addPublishTarget

        public boolean addPublishTarget​(java.lang.String target,
                                        java.lang.String streamID,
                                        IZegoUpdatePublishTargetCallback callback)
        添加转推地址

        注意:必须在 initSDK 后调用

        Parameters:
        target - 转推地址(支持rtmp/avertp)
        streamID - 推流ID
        callback - 实现 IZegoUpdatePublishTargetCallback 接口的对象实例,用于接收添加转推地址结果
        Returns:
        true: 调用成功,false: 调用失败
      • addPublishTarget

        public boolean addPublishTarget​(java.lang.String target,
                                        java.lang.String streamID,
                                        int timeout,
                                        IZegoUpdatePublishTargetCallback callback)
        添加转推地址

        注意:必须在 initSDK 后调用

        Parameters:
        target - 转推地址(支持rtmp/avertp)
        streamID - 推流ID
        timeout - 超时时间,如果在时间内没有开始转推要回调通知。默认为0,表示不超时,有效范围[5,600],单位秒。小于0会被重置为0,1到4会被重置为5,大于600会被重置为600。
        callback - 实现 IZegoUpdatePublishTargetCallback 接口的对象实例,用于接收添加转推地址结果
        Returns:
        true: 调用成功,false: 调用失败
      • deletePublishTarget

        public boolean deletePublishTarget​(java.lang.String target,
                                           java.lang.String streamID,
                                           IZegoUpdatePublishTargetCallback callback)
        删除转推地址

        注意:必须在 initSDK 后调用

        Parameters:
        target - 转推地址(支持rtmp/avertp)
        streamID - 推流ID
        callback - 实现 IZegoUpdatePublishTargetCallback 接口的对象实例,用于接收删除转推地址结果
        Returns:
        true: 调用成功,false: 调用失败
      • enableDTX

        public void enableDTX​(boolean enable)
        是否开启离散音频包发送

        注意:


        1.推流前调用有效。以 RTC 方式推流,此接口才会生效。
        2.可以和 enableVAD 配合使用。
        3.开启离散音频包发送可以在关闭麦克风或者静音的状态下,停止音频包的发送,节省用户流量。
        4.如果为音频单流(非混流)转推 CDN,开启此选项将导致 CDN 在设定时间内未收到数据包认为流关闭而断开连接,所以此种情况不建议开启。
        5.SDK 默认关闭该特性。
        Parameters:
        enable - true 开启,推流中检测为静音的数据包不发送;false 关闭,推流中的静音数据包照常发送。默认是 false。
      • enableVAD

        public void enableVAD​(boolean enable)
        是否开启语音活动检测

        注意:在推流前调用,只有纯 UDP 方案才可以调用此接口.

        Parameters:
        enable - true 开启; false 关闭, 默认关闭
      • setMinVideoBitrateForTrafficControl

        public void setMinVideoBitrateForTrafficControl​(int bitrate,
                                                        int mode)
        设置主推流通道流量控制的视频码率最小值

        注意:InitSDK 之后调用有效

        设置一个在traffic control中video码率的一个最小值,当网络不足以发送这个最小值的时候视频会被卡住,而不是以低于该码率继续发送。初始化SDK后默认情况下没有设置该值,即尽可能的保持视频流畅,InitSDK之后可以随时修改,未重新InitSDK之前如果需要取消该设置值的限制可以设置为0

        Parameters:
        bitrate - 码率,单位为bps
        mode - 模式,参见 ZegoConstants.ZegoTrafficControlMinVideoBitrateMode
      • setMinVideoBitrateForTrafficControl

        public void setMinVideoBitrateForTrafficControl​(int bitrate,
                                                        int mode,
                                                        int channelIndex)
        设置流量控制的视频码率最小值

        注意:InitSDK 之后调用有效

        设置一个在traffic control中video码率的一个最小值,当网络不足以发送这个最小值的时候视频会被卡住,而不是以低于该码率继续发送。初始化SDK后默认情况下没有设置该值,即尽可能的保持视频流畅,InitSDK之后可以随时修改,未重新InitSDK之前如果需要取消该设置值的限制可以设置为0

        Parameters:
        bitrate - 码率,单位为bps
        mode - 模式,参见 ZegoConstants.ZegoTrafficControlMinVideoBitrateMode
      • setMinVideoFpsForTrafficControl

        public void setMinVideoFpsForTrafficControl​(int fps,
                                                    int channelIndex)
        设置流量控制的视频帧率最小值

        注意:InitSDK 之后调用有效

        设置一个在traffic control中video帧率的一个最小值,可以让 SDK 采取用户设置的策略。初始化SDK后默认情况下没有设置该值,即尽可能的保持视频流畅,InitSDK之后可以随时修改,未重新InitSDK之前如果需要取消该设置值的限制可以设置为0

        Parameters:
        fps - 帧率,单位为fps, 默认为 0,即尽可能的保持视频流畅
      • setMinVideoResolutionForTrafficControl

        public void setMinVideoResolutionForTrafficControl​(int width,
                                                           int height,
                                                           int channelIndex)
        设置流量控制的视频分辨率最小值

        注意:InitSDK 之后调用有效

        设置一个在traffic control中video分辨率的一个最小值,可以让 SDK 采取用户设置的策略。初始化SDK后默认情况下没有设置该值,即尽可能的保持视频流畅,InitSDK之后可以随时修改,未重新InitSDK之前如果需要取消该设置值的限制可以设置为0

        Parameters:
        width - 分辨率的宽, 默认为 0,即尽可能的保持视频流畅
        height - 分辨率的高, 默认为 0,即尽可能的保持视频流畅
      • setTrafficControlFocusOn

        public void setTrafficControlFocusOn​(int focusOn)
        设置主推流通道触发流量控制的关注因素

        注意:InitSDK 之后调用有效


        在初始化 SDK 之后,推流之前调用有效。如果每次推流前不重新设置,将继续使用上次的配置。在反初始化 SDK 之后失效。
        当 focusOn 设置为 FocusOnRemote 时,当对方的网络拥塞时,推流端可能限定推流的码率。
        当通过 enableTrafficControl 接口开启了指定推流通道的流量控制后,可通过该接口控制是否因为远端网络状况差而启动流量控制。在 1v1 场景下默认是开启的。
        Parameters:
        focusOn - 触发流量控制的关注因素。详细定义见 ZegoConstants.TrafficControlFocusOn。 选择 FocusOnLocalOnly 时,只关注本地网络状况。选择 FocusOnRemote 时,不仅关注本地网络,同时也兼顾远端网络,目前只在 1对1 场景下有效。
      • setTrafficControlFocusOn

        public void setTrafficControlFocusOn​(int focusOn,
                                             int channelIndex)
        设置触发流量控制的关注因素

        注意:InitSDK 之后调用有效


        在初始化 SDK 之后,推流之前调用有效。如果每次推流前不重新设置,将继续使用上次的配置。在反初始化 SDK 之后失效。
        当 focusOn 设置为 FocusOnRemote 时,当对方的网络拥塞时,推流端可能限定推流的码率。
        当通过 enableTrafficControl 接口开启了指定推流通道的流量控制后,可通过该接口控制是否因为远端网络状况差而启动流量控制。在 1v1 场景下默认是开启的。
        Parameters:
        focusOn - 触发流量控制的关注因素。详细定义见 ZegoConstants.TrafficControlFocusOn。 选择 FocusOnLocalOnly 时,只关注本地网络状况。选择 FocusOnRemote 时,不仅关注本地网络,同时也兼顾远端网络,目前只在 1对1 场景下有效。
        channelIndex - 推流通道,详细定义见 ZegoConstants.PublishChannelIndex
      • setAudioDeviceMode

        public static void setAudioDeviceMode​(int mode)
        设置音频设备模式.

        注意:
        1. 在推流预览前后调用均有效.
        2. 调用该接口会触发设备的启动切换,建议不要频繁调用,避免不必要的开销与硬件问题
        3. 调用本接口可能导致音量模式在 通话/媒体 间切换,若媒体音量和通话音量不一致,可能导致音量变化.

        Parameters:
        mode - 模式, 参考 ZegoConstants.AudioDeviceMode, 默认值 ZegoConstants.AudioDeviceMode.Auto
      • setAudioDevice

        public static boolean setAudioDevice​(int deviceType,
                                             java.lang.String deviceId)
        设置音频设备。

        注意: 1. 此接口仅在 API >= 23 的系统上有效,且必须在推、拉流前调用;
        2. 此接口默认不开放,如需要此功能,请联系技术支持人员。

        Parameters:
        deviceType - 设备类型(指明是输入设备还是输出设备),参考 ZegoConstants.AudioDeviceType
        deviceId - 设备 ID,通过系统 API: AudioManager.getDevices 获得;如果要恢复默认设备,请将此值置为空串
        Returns:
        true 如果调用成功,否则返回 false
      • enableCheckPoc

        public static void enableCheckPoc​(boolean enable)
        帧顺序检测开关.

        注意:必须在 initSDK(long, byte[]) 前调用

        Parameters:
        enable - true: 检测帧顺序, 不支持B帧; false: 不检测帧顺序, 支持B帧, 会有短暂花屏
      • _logPrint

        @Deprecated
        public static void _logPrint​(int logPrintType,
                                     java.lang.String strFormat,
                                     java.lang.Object... args)
        Deprecated.
        内部方法,请勿使用
        内部方法,请勿使用(*使用不当会引发性能问题*)
        Parameters:
        logPrintType - 0:当前log只打印到密文,1:当前log只打印明文日志,2:当前log明文,密文都会打印 注意打印密文日志需调用seVerbose 开启
        strFormat - the format string (see Formatter.format(java.lang.String, java.lang.Object...))
        args - the list of arguments passed to the formatter. If there are more arguments than required by format, additional arguments are ignored.
      • enableLoopback

        public boolean enableLoopback​(boolean enable)
        开启采集监听.

        推流时可调用本 API 进行参数配置。连接耳麦时设置才实际生效。开启采集监听,主播方讲话后,会听到自己的声音

        耳返默认是在采集之后、前处理之前返回,如果需要在前处理之后返回请咨询技术支持

        Parameters:
        enable - true: 开启; false: 关闭. 默认为false
        Returns:
        true:调用成功; false:调用失败
      • enableNoiseSuppress

        public boolean enableNoiseSuppress​(boolean enable)
      • setNoiseSuppressMode

        public boolean setNoiseSuppressMode​(int mode)
        设置音频采集降噪等级。

        仅在 enableNoiseSuppress 为 true 时有效, 默认为 MEDIUM

        Parameters:
        mode - 降噪等级,详见 ZegoConstants.ANSMode
        Returns:
        true 成功,false 失败
      • enableTransientNoiseSuppress

        public boolean enableTransientNoiseSuppress​(boolean enable)
      • pauseModule

        public void pauseModule​(int moduleType)
      • resumeModule

        public void resumeModule​(int moduleType)
        恢复设备模块。 用于需要恢复指定模块的场合,例如来电结束后恢复音频模块。
        Parameters:
        moduleType - 设备类型, 参考 ZegoConstants.ModuleType 定义
        See Also:
        pauseModule(int)
      • setAudioChannelCount

        public void setAudioChannelCount​(int count)
        设置所有推流通道的推流音频声道数.

        注意:
        1. 必须在初始化 SDK 后,推流前设置.
        2. setLatencyMode设置为 ZegoConstants.LatencyMode.Normal , ZegoConstants.LatencyMode.Normal2, ZegoConstants.LatencyMode.Low3 才能设置双声道
        3. 在移动端双声道通常需要配合音频前处理才能体现效果.

        Parameters:
        count - 声道数,1 或 2,默认为 1(单声道)
      • activateAudioPlayStream

        public int activateAudioPlayStream​(java.lang.String streamId,
                                           boolean active)
        拉流是否接收音频数据。

        注意:可以在拉流之前或之后设置, 每次拉流都需要重新设置

        Parameters:
        streamId - 播放流 ID
        active - true 接收,false 不接收
        Returns:
        0 成功,否则失败
      • activateAllAudioPlayStream

        public int activateAllAudioPlayStream​(boolean active)
        拉流是否接收音频数据。

        注意:
        1. 可以在initSDK之后设置,支持拉流时设置.
        2. 本地用户会取消或恢复接收所有远端用户的音频流,包括在调用该方法后新加入房间的用户的音频流.
        3. 必需此接口和activateAudioPlayStream接口均未禁止音频数据,才会接收音频数据
        4. 此接口不影响activateAudioPlayStream接口的生命周期.

        Parameters:
        active - true 接收,false 不接收
        Returns:
        0 成功,否则失败
      • activateVideoPlayStream

        public int activateVideoPlayStream​(java.lang.String streamId,
                                           boolean active)
        拉流是否接收视频数据。

        注意:可以在拉流之前或之后设置, 每次拉流都需要重新设置

        Parameters:
        streamId - 播放流 ID
        active - true 接收,false 不接收
        Returns:
        0 成功,否则失败
      • activateVideoPlayStream

        public int activateVideoPlayStream​(java.lang.String streamId,
                                           boolean active,
                                           int videoLayer)
        拉流是否接收视频数据。

        注意:可以在拉流之前或之后设置, 每次拉流都需要重新设置

        Parameters:
        streamId - 播放流 ID
        active - true 接收,false 不接收
        videoLayer - 视频分层类型, 参考 ZegoConstants.VideoStreamLayer 定义, 仅拉 UDP 流有效
        Returns:
        0 成功,否则失败
      • activateAllVideoPlayStream

        public int activateAllVideoPlayStream​(boolean active)
        拉流是否接收视频数据。

        注意:
        1. 可以在initSDK之后设置,支持拉流时设置.
        2. 本地用户会取消或恢复接收所有远端用户的视频流,包括在调用该方法后新加入房间的用户的视频流.
        3. 必需此接口和activateVideoPlayStream接口均未禁止视频数据,才会接收视频数据
        4. 此接口不影响activateVideoPlayStream接口的生命周期.

      • setRecvBufferLevelLimit

        public boolean setRecvBufferLevelLimit​(int minBufferLevel,
                                               int maxBufferLevel,
                                               java.lang.String streamId)
        设置拉流播放缓存自适应调整的区间范围(上下限)

        注意:
        调用时机为拉流前或者拉流中, 每次拉流都需要重新设置
        上下限在未设置时, 内部默认区间范围 [0, 4000]
        当设置的上限小于下限时,会自动将上限取值为下限

        Parameters:
        minBufferLevel - 缓存自适应区间下限, 单位毫秒. 当设置的值小于等于0表示未设置下限.
        maxBufferLevel - 缓存自适应区间上限, 单位毫秒. 当设置的值小于等于0表示未设置上限. 当设置的上限超过4000时,会取值4000.
        streamId - 流 ID
        Returns:
        true 设置成功, false 设置失败
      • muteVideoPublish

        public int muteVideoPublish​(boolean mute)
        推流时是否发送视频数据。

        注意:
        1. 拉流端通过 IZegoLivePlayerCallback2.onRemoteCameraStatusUpdate(java.lang.String, int, int) 回调监听此状态是否改变;
        2. 仅拉 UDP 流时,才能接收到状态变更通知;

        Parameters:
        mute - true 不发送(仅预览),false 发送
        Returns:
        0 代表设置成功成功,否则设置失败
      • setConfig

        public static void setConfig​(java.lang.String config)
        设置sdk配置信息.

        注意:确保在 InitSDK 前调用,但开启拉流加速(config为“prefer_play_ultra_source=1”)可在 InitSDK 之后,拉流之前调用

        Parameters:
        config - 参考ZegoConstants.Config, 具体配置信息请咨询技术支持
      • setExperimentalAPICallback

        public void setExperimentalAPICallback​(IZegoExperimentalAPICallback callback)
        设置试验性API回调
        Parameters:
        callback - 设置试验性API回调
      • callExperimentalAPI

        public int callExperimentalAPI​(java.lang.String params)
        试验性API.
        Parameters:
        params - 具体信息请咨询技术支持
        Returns:
        0 代表成功,否则失败
      • enableScreenCaptureEncodeOptimization

        public void enableScreenCaptureEncodeOptimization​(boolean enable,
                                                          int channelIndex)
        开启屏幕分享编码优化

        注意:
        前置条件:仅在软件编码的情况下使用 OpenH264 编码时有效。在默认情况下 SDK 就是使用 OpenH264 编码器。
        调用 requireHardwareEncoder 开启硬件编码后,本接口失效。
        调用 setVideoCodecId 设置非默认选项时,本接口失效。
        推流之前设置有效,当次推流结束后失效。
        推荐使用场景:在屏幕共享推流时,SDK 会优化编码,使得清晰度会好很多,视频码率比较稳定,还支持分层编码。

        Parameters:
        enable - 是否开启。true:开启,false:关闭。默认是关闭的。
        channelIndex - 推流通道
      • setChannelExtraParam

        public void setChannelExtraParam​(java.lang.String param_config,
                                         int channelIndex)
        给推流通道设置扩展参数,一般不建议修改

        注意:支持的配置项及用法
        配置项写法,例如 "zego_channel_param_key_video_x264_config_tune=animation", 等号后面值的类型要看下面每一项的定义
        "zego_channel_param_key_video_x264_config_tune", string value: animation, 设置编码的 tune 值,目前只支持 animation,仅使用 X264 编码时有效

        Parameters:
        param_config - 参数配置信息
        channelIndex - 推流通道索引,默认主通道, 参考 ZegoConstants.PublishChannelIndex
      • enableAECWhenHeadsetDetected

        public void enableAECWhenHeadsetDetected​(boolean enable)
        耳机插入状态下是否使用回声消除。

        注意:InitSDK之后,推流之前使用。

        Parameters:
        enable - true 使用,false 不使用。默认 false
      • setAudioCaptureShiftOnMix

        public void setAudioCaptureShiftOnMix​(int shiftMS)
        设置麦克风采集声音在混音过程中的偏移

        注意:支持的配置项及用法
        初始化 SDK 之后调用有效,推流前、推流过程中调用都有效
        只适用于 ktv 场景,偏移麦克风采集的人声,匹配播放器的伴奏声音
        当推流主通道采用音频内部采集时,对主通道推流,主通道本地录制有效

        Parameters:
        shiftMS - 偏移值,当 shiftMS 小于 0 时,混音时会延迟播放音;当 shiftMS 大于 0 时,混音时会延迟采集音。有效值范围[-500, 500],单位毫秒,默认值 0
      • enablePublishStreamAlignment

        @Deprecated
        public int enablePublishStreamAlignment​(boolean enable)
        Deprecated.
        请使用 setStreamAlignmentProperty 替代
        设置所有推流是否校准网络时间,用于混流时各路流的对齐

        注意:
        此方法依赖网络时间模块
        initSDK后 推流之前设置

        Parameters:
        enable - true开启,false关闭
        Returns:
        0 表示成功,-1 为失败
      • setStreamAlignmentProperty

        public int setStreamAlignmentProperty​(int alignment,
                                              int channelIndex)
        设置指定通道推流是否校准网络时间,用于混流时各路流的对齐

        注意:
        此方法依赖网络时间模块,且需要调用推流接口startPublishingWithParams中推流,且参数 ZegoPublishStreamParams.forceSynchronousNetworkTime 为1开启网络时间同步
        initSDK 后, 推流前后都可设置

        Parameters:
        alignment - 1开启,0关闭
        channelIndex - 推流通道索引,默认主通道, 参考 ZegoConstants.PublishChannelIndex
        Returns:
        0 表示成功,-1 为失败
      • enableH265EncodeFallback

        public boolean enableH265EncodeFallback​(boolean enable)
        设置开启 H.265 编码自动降级到 H.264 编码

        注意:
        推流之前设置

        Parameters:
        enable - true开启,false关闭
        Returns:
        true 设置成功, false 设置失败
      • isVideoEncoderSupported

        public boolean isVideoEncoderSupported​(int codecID)
        获取 SDK 是否支持指定编码能力
        Parameters:
        codecID - 编码器 ID, 参考 ZegoConstants.ZegoVideoCodecAvc
        Returns:
        true: 支持, false: 不支持
      • isVideoEncoderSupported

        public int isVideoEncoderSupported​(int codecID,
                                           int codecBackend)
        获取 SDK 是否支持指定编码能力
        Parameters:
        codecID - 编码器 ID, 参考 ZegoConstants.ZegoVideoCodecAvc
        codecBackend - 编码器的后端实现, 参考 ZegoConstants.ZegoVideoCodecBackend
        Returns:
        0: 不支持, 1: 支持, 2: 未确定
      • isVideoDecoderSupported

        public boolean isVideoDecoderSupported​(int codecID)
        获取 SDK 是否支持指定解码能力
        Parameters:
        codecID - 解码器 ID, 参考 ZegoConstants.ZegoVideoCodecAvc
        Returns:
        true: 支持, false: 不支持
      • isVideoDecoderSupported

        public int isVideoDecoderSupported​(int codecID,
                                           int codecBackend)
        获取 SDK 是否支持指定解码能力
        Parameters:
        codecID - 解码器 ID, 参考 ZegoConstants.ZegoVideoCodecAvc
        codecBackend - 解码器的后端实现, 参考 ZegoConstants.ZegoVideoCodecBackend
        Returns:
        0: 不支持, 1: 支持, 2: 未确定
      • getUserByStreamID

        public ZegoUser getUserByStreamID​(java.lang.String streamID)
        获取发布指定流 ID 的发布者信息

        注意:需保证该流已经存在。

        Parameters:
        streamID - 流 ID
        Returns:
        ZegoUser 发布者信息
      • setAudioVADStableStateCallback

        public void setAudioVADStableStateCallback​(IZegoCheckAudioVADCallback callback)
        设置检测语音状态的回调
        Parameters:
        callback - 回调指针
      • enableCapturedAudioVADStableStateMonitor

        public void enableCapturedAudioVADStableStateMonitor​(boolean enable)
        开启采集后的音频数据语音状态检测(包括麦克风采集和外部音频采集)

        注意:检测周期是 3000 毫秒。推流前后设置都有效。预览或者推流后开始回调

        Parameters:
        enable - 是否开启
      • enableCapturedAudioVADStableStateMonitor

        public void enableCapturedAudioVADStableStateMonitor​(boolean enable,
                                                             int period)
        开启采集后的音频数据语音状态检测(包括麦克风采集和外部音频采集)

        注意:推流前后设置都有效。预览或者推流后开始回调

        Parameters:
        enable - 是否开启
        period - 检测周期,单位毫秒,有效值范围 [200,10000]
      • enableAudioPrepVADStableStateMonitor

        public void enableAudioPrepVADStableStateMonitor​(boolean enable)
        开启音频外部预处理后的音频数据的语音状态检测

        注意:检测周期是 3000 毫秒。推流前后设置都有效。预览或者推流后开始回调

        Parameters:
        enable - 是否开启
      • enableAudioPrepVADStableStateMonitor

        public void enableAudioPrepVADStableStateMonitor​(boolean enable,
                                                         int period)
        开启音频外部预处理后的音频数据的语音状态检测

        注意:推流前后设置都有效。预览或者推流后开始回调

        Parameters:
        enable - 是否开启
        period - 检测周期,单位毫秒,有效值范围 [200,10000]
      • setPlayStreamsAlignmentProperty

        public int setPlayStreamsAlignmentProperty​(int alignment)
        设置拉流是否校准网络时间,用于有对齐属性的各路流进行时间对齐

        注意:
        InitSDK成功后才能调用本接口,可实时更改生效。

        Parameters:
        alignment - 1开启,0关闭
        Returns:
        0 表示成功,-1 为失败
      • updatePlayToken

        public boolean updatePlayToken​(java.lang.String streamId,
                                       byte[] token)
        拉流时设置的Token即将过期,调用该 API 变更。

        注意:
        拉流之后调用,若拉流时未设 appid,该接口无效。

        Parameters:
        streamId - 播放流 ID
        token - 设置的 Token
        Returns:
        true 表示成功,false 表示失败
      • setAppOrientationMode

        public boolean setAppOrientationMode​(int mode)
        设置视频朝向模式

        注意: 1.必须在预览或者推流之前调用。
        2.对所有通道生效。自适应模式在预览、拉流、混流场景下生效,不支持视频外部采集、媒体播放器、云录制、本地录制,不支持通过 CDN 推拉流场景。

        Parameters:
        mode - 视频朝向模式,默认为 ZEGO_ORIENTATION_MODE_CUSTOM,参考 ZegoConstants.ZegoOrientationMode
        Returns:
        true: 调用成功, false: 调用失败
      • initVideoSuperResolution

        public void initVideoSuperResolution()
        初始化超分
      • enableVideoSuperResolution

        public void enableVideoSuperResolution​(java.lang.String streamID,
                                               boolean enable)
        开启视频画面超分

        注意: 1.视频超分仅对拉流视频画面有效,必须在initSDK(long, byte[], android.content.Context)后调用;
        2.该功能需要特殊编包,请联系ZEGO技术支持;
        3.该功能会额外耗费系统资源,为了保证用户体验,ZEGO限制只能对一条流开启超分辨率,且该条流的原始分辨率不建议超过 640 × 360;
        4.通过 IZegoLivePlayerCallback#onPlayVideoSuperResolutionUpdate 回调超分状态。

        Parameters:
        streamID - 当前需要开启或关闭超分的流的 ID。
        enable - 是否开启超分,默认不开启。
      • uninitVideoSuperResolution

        public void uninitVideoSuperResolution()
        反初始化超分
      • enableVideoObjectSegmentation

        public void enableVideoObjectSegmentation​(boolean enable,
                                                  int type,
                                                  int channelIndex)
        开启视频主体分割
        Parameters:
        enable - 是否开启主体分割,默认关闭。
        type - 主体分割类型,参考 ZegoConstants.ZegoObjectSegmentationType
        channelIndex - 推流通道索引, 参考 ZegoConstants.PublishChannelIndex
      • enableVideoObjectSegmentation

        public void enableVideoObjectSegmentation​(boolean enable,
                                                  ZegoObjectSegmentationConfig config,
                                                  int channel)
        开启视频主体分割
        Parameters:
        enable - 是否开启主体分割,默认关闭。
        config - 主体分割配置。
        channel - 推流通道索引, 参考 ZegoConstants.PublishChannelIndex
      • enableAlphaChannelVideoEncoder

        public void enableAlphaChannelVideoEncoder​(boolean enable,
                                                   int layoutType,
                                                   int channelIndex)
        开启视频编码器透明通道支持。
        Parameters:
        enable - 是否开启视频编码器透明通道支持,默认关闭。
        layoutType - 透明通道数据布局方式,参考 ZegoConstants.ZegoAlphaLayoutType
        channelIndex - 推流通道索引, 参考 ZegoConstants.PublishChannelIndex
      • startDumpData

        public void startDumpData​(ZegoDumpDataConfig config)
        开启转储数据
        Parameters:
        config - 转储数据配置
      • stopDumpData

        public void stopDumpData()
        停止转储数据
      • uploadDumpData

        public void uploadDumpData()
        上传转储数据到 ZEGO 服务端
      • removeDumpData

        public void removeDumpData()
        删除转储数据
      • enableColorEnhancement

        public void enableColorEnhancement​(boolean enable,
                                           ZegoColorEnhancementParams params,
                                           int channel)
        开启色彩增强
        Parameters:
        enable - 是否开启;true 表示开启;false 表示关闭。
        params - 色彩增强参数。
        channel - 推流通道索引, 参考 ZegoConstants.PublishChannelIndex
      • onInitSDK

        public void onInitSDK​(int errorCode)
      • onLogHook

        public void onLogHook​(java.lang.String logMessage)
      • onLogWillOverwrite

        public void onLogWillOverwrite()
      • onLogUploadResult

        public void onLogUploadResult​(int errorCode)
      • onRunLoopObserveCallback

        public void onRunLoopObserveCallback​(long taskId,
                                             int type,
                                             int taskDispatchTime,
                                             int taskRunTime,
                                             int taskTotalTime)
      • onLoginRoom

        public void onLoginRoom​(int errorCode,
                                java.lang.String roomID,
                                ZegoStreamInfo[] listStream)
      • onKickOut

        public void onKickOut​(int reason,
                              java.lang.String roomID,
                              java.lang.String customReason)
      • onDisconnect

        public void onDisconnect​(int errorCode,
                                 java.lang.String roomID)
      • onReconnect

        public void onReconnect​(int errorCode,
                                java.lang.String roomID)
      • onTempBroken

        public void onTempBroken​(int errorCode,
                                 java.lang.String roomID)
      • onFatalError

        public void onFatalError​(int errorCode)
      • onRoomInfoUpdated

        public void onRoomInfoUpdated​(ZegoRoomInfo roomInfo,
                                      java.lang.String roomID)
      • onStreamUpdated

        public void onStreamUpdated​(int type,
                                    ZegoStreamInfo[] listStream,
                                    java.lang.String roomID)
      • onStreamExtraInfoUpdated

        public void onStreamExtraInfoUpdated​(ZegoStreamInfo[] listStream,
                                             java.lang.String roomID)
      • onPlayStateUpdate

        public void onPlayStateUpdate​(int stateCode,
                                      java.lang.String streamID)
      • onPlayQualityUpdate

        public void onPlayQualityUpdate​(java.lang.String streamID,
                                        ZegoPlayStreamQuality streamQuality)
      • onPlayStatsUpdate

        public void onPlayStatsUpdate​(ZegoPlayStats stats)
      • onPlayVideoSuperResolutionUpdate

        public void onPlayVideoSuperResolutionUpdate​(java.lang.String streamID,
                                                     int state,
                                                     int errorCode)
      • onJoinLiveResponse

        public void onJoinLiveResponse​(int result,
                                       java.lang.String fromUserID,
                                       java.lang.String fromUserName,
                                       int seq)
      • onInviteJoinLiveRequest

        public void onInviteJoinLiveRequest​(int seq,
                                            java.lang.String fromUserID,
                                            java.lang.String fromUserName,
                                            java.lang.String roomID)
      • onRecvEndJoinLiveCommand

        public void onRecvEndJoinLiveCommand​(java.lang.String fromUserId,
                                             java.lang.String fromUserName,
                                             java.lang.String roomId)
      • onVideoSizeChanged

        public void onVideoSizeChanged​(java.lang.String streamID,
                                       int width,
                                       int height)
      • onRemoteCameraStatusUpdate

        public void onRemoteCameraStatusUpdate​(java.lang.String streamID,
                                               int status,
                                               int reason)
      • onRemoteMicStatusUpdate

        public void onRemoteMicStatusUpdate​(java.lang.String streamID,
                                            int status,
                                            int reason)
      • onRemoteSpeakerStatusUpdate

        public void onRemoteSpeakerStatusUpdate​(java.lang.String streamID,
                                                int status,
                                                int reason)
      • onRecvRemoteAudioFirstFrame

        public void onRecvRemoteAudioFirstFrame​(java.lang.String streamID)
      • onRecvRemoteVideoFirstFrame

        public void onRecvRemoteVideoFirstFrame​(java.lang.String streamID)
      • onRenderRemoteVideoFirstFrame

        public void onRenderRemoteVideoFirstFrame​(java.lang.String streamID)
      • onSnapshot

        public void onSnapshot​(android.graphics.Bitmap img,
                               java.lang.String streamID)
      • onPublishStateUpdate

        public void onPublishStateUpdate​(int stateCode,
                                         java.lang.String streamID,
                                         java.util.HashMap<java.lang.String,​java.lang.Object> streamInfo)
      • onRelayCDNStateUpdate

        public void onRelayCDNStateUpdate​(ZegoStreamRelayCDNInfo[] statesInfo,
                                          java.lang.String streamID)
      • onUpdatePublishTargetState

        public void onUpdatePublishTargetState​(int errorCode,
                                               java.lang.String streamID,
                                               int seq)
      • onJoinLiveRequest

        public void onJoinLiveRequest​(int seq,
                                      java.lang.String fromUserID,
                                      java.lang.String fromUserName,
                                      java.lang.String roomID)
      • onInviteJoinLiveResponse

        public void onInviteJoinLiveResponse​(int result,
                                             java.lang.String fromUserID,
                                             java.lang.String fromUserName,
                                             int seq)
      • onEndJoinLive

        public void onEndJoinLive​(int result,
                                  int seq,
                                  java.lang.String roomID)
      • onPublishQulityUpdate

        public void onPublishQulityUpdate​(java.lang.String streamID,
                                          ZegoPublishStreamQuality streamQuality)
      • onCaptureVideoSizeChanged

        public void onCaptureVideoSizeChanged​(int width,
                                              int height)
      • onCaptureVideoSizeChanged

        public void onCaptureVideoSizeChanged​(int channelIndex,
                                              int width,
                                              int height)
      • onCaptureVideoFirstFrame

        public void onCaptureVideoFirstFrame()
      • onCaptureVideoFirstFrame

        public void onCaptureVideoFirstFrame​(int channelIndex)
      • onPreviewVideoFirstFrame

        public void onPreviewVideoFirstFrame​(int channelIndex)
      • onSendLocalAudioFirstFrame

        public void onSendLocalAudioFirstFrame​(int channelIndex)
      • onSendLocalVideoFirstFrame

        public void onSendLocalVideoFirstFrame​(int channelIndex)
      • onCaptureAudioFirstFrame

        public void onCaptureAudioFirstFrame()
      • onPreviewSnapshot

        public void onPreviewSnapshot​(android.graphics.Bitmap img)
      • onPreviewSnapshot

        public void onPreviewSnapshot​(int channelIndex,
                                      android.graphics.Bitmap img)
      • onLiveEvent

        public void onLiveEvent​(int event,
                                java.util.HashMap<java.lang.String,​java.lang.String> info)
      • onStreamEvent

        public void onStreamEvent​(int event,
                                  java.lang.String streamID,
                                  java.util.HashMap<java.lang.String,​java.lang.String> extraInfo)
      • onDeviceError

        public void onDeviceError​(java.lang.String deviceName,
                                  int errorCode)
      • onAudioRecordCallback

        public void onAudioRecordCallback​(byte[] data,
                                          int sampleRate,
                                          int channelCount,
                                          int bitDepth,
                                          int type)
      • onAlignedAudioAuxDataCallback

        public void onAlignedAudioAuxDataCallback​(ZegoAudioFrame frame,
                                                  int channel)
      • onExperimentalAPICallback

        public void onExperimentalAPICallback​(java.lang.String params)
      • onCustomCommand

        public void onCustomCommand​(int errorCode,
                                    int requestSeq,
                                    java.lang.String roomID)
      • onRecvCustomCommand

        public void onRecvCustomCommand​(java.lang.String userID,
                                        java.lang.String userName,
                                        java.lang.String content,
                                        java.lang.String roomID)
      • onNetworkQuality

        public void onNetworkQuality​(java.lang.String userID,
                                     int txQuality,
                                     int rxQuality)
      • onTokenWillExpired

        public void onTokenWillExpired​(java.lang.String roomID,
                                       int remainTimeInSecond)
      • onAVEngineStart

        public void onAVEngineStart()
      • onAVEngineStop

        public void onAVEngineStop()
      • onUserUpdate

        public void onUserUpdate​(ZegoUserState[] listUser,
                                 int updateType,
                                 java.lang.String roomID)
      • onUpdateOnlineCount

        public void onUpdateOnlineCount​(java.lang.String roomID,
                                        int onlineCount)
      • onSendRoomMessage

        public void onSendRoomMessage​(int errorCode,
                                      java.lang.String roomID,
                                      int sendSeq,
                                      long messageID)
      • onSendBigRoomMessage

        public void onSendBigRoomMessage​(int errorCode,
                                         java.lang.String roomID,
                                         int sendSeq,
                                         java.lang.String messageID)
      • onRecvRoomMessage

        public void onRecvRoomMessage​(java.lang.String roomID,
                                      ZegoRoomMessage[] listMessage)
      • onRecvBigRoomMessage

        public void onRecvBigRoomMessage​(java.lang.String roomID,
                                         ZegoBigRoomMessage[] listMessage)
      • onAudioRouteChange

        public void onAudioRouteChange​(int audioRoute)
      • onNetTypeChange

        public void onNetTypeChange​(int netType)
      • onRequestDumpData

        public void onRequestDumpData()
      • onRequestUploadDumpData

        public void onRequestUploadDumpData​(java.lang.String dumpDir,
                                            boolean take_photo)
      • onStartDumpData

        public void onStartDumpData​(int error)
      • onStopDumpData

        public void onStopDumpData​(int error,
                                   java.lang.String dumpDir)
      • onUploadDumpData

        public void onUploadDumpData​(int error)
      • onSendRealtimeSequentialData

        public void onSendRealtimeSequentialData​(int seq,
                                                 int errorCode)
      • onRecvRealtimeSequentialData

        public void onRecvRealtimeSequentialData​(java.nio.ByteBuffer data,
                                                 java.lang.String streamID)
      • onVideoEncoderError

        public void onVideoEncoderError​(int codecID,
                                        int errorCode,
                                        int channel)
      • onVideoDecoderError

        public void onVideoDecoderError​(int codecID,
                                        int errorCode,
                                        java.lang.String streamID)
      • onVideoEncoderChanged

        public void onVideoEncoderChanged​(int fromCodecID,
                                          int toCodecID,
                                          int channel)
      • onCapturedAudioVADStateUpdate

        public void onCapturedAudioVADStateUpdate​(int state)
      • onAudioPrepVADStateUpdate

        public void onAudioPrepVADStateUpdate​(int state)
      • onVideoObjectSegmentationStateChanged

        public void onVideoObjectSegmentationStateChanged​(int state,
                                                          int channelIndex,
                                                          int errorCode)