Class ZegoLiveRoom
- java.lang.Object
-
- com.zego.zegoliveroom.ZegoLiveRoom
-
public final class ZegoLiveRoom extends java.lang.Object
ZEGO SDK API 入口。Copyright © 2017 Zego. All rights reserved.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ZegoLiveRoom.SDKContext
SDK 上下文,用于向 app 获取常规信息static interface
ZegoLiveRoom.SDKContextEx
增加设置单个日志文件大小的 API。 为了兼容老版本使用新 SDK 时,不需要做任何修改,只能重新定义一个子 interfacestatic interface
ZegoLiveRoom.SDKContextEx2
增加设置日志存储目录 uri 的 API。static interface
ZegoLiveRoom.SDKContextEx3
-
Constructor Summary
Constructors Constructor Description ZegoLiveRoom()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static void
_logPrint(int logPrintType, java.lang.String strFormat, java.lang.Object... args)
Deprecated.内部方法,请勿使用int
activateAllAudioPlayStream(boolean active)
拉流是否接收音频数据。int
activateAllVideoPlayStream(boolean active)
拉流是否接收视频数据。int
activateAudioPlayStream(java.lang.String streamId, boolean active)
拉流是否接收音频数据。int
activateVideoPlayStream(java.lang.String streamId, boolean active)
拉流是否接收视频数据。int
activateVideoPlayStream(java.lang.String streamId, boolean active, int videoLayer)
拉流是否接收视频数据。boolean
addPublishTarget(java.lang.String target, java.lang.String streamID, int timeout, IZegoUpdatePublishTargetCallback callback)
添加转推地址boolean
addPublishTarget(java.lang.String target, java.lang.String streamID, IZegoUpdatePublishTargetCallback callback)
添加转推地址int
callExperimentalAPI(java.lang.String params)
试验性API.boolean
deletePublishTarget(java.lang.String target, java.lang.String streamID, IZegoUpdatePublishTargetCallback callback)
删除转推地址void
enableAEC(boolean enable)
回声消除开关void
enableAECWhenHeadsetDetected(boolean enable)
耳机插入状态下是否使用回声消除。void
enableAGC(boolean enable)
音频采集自动增益开关.void
enableAlignedAudioAuxData(boolean enable, ZegoAudioAuxDataConfig config)
开启/关闭抛出对齐后的混音数据特性setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback)
设置对齐后的混音数据回调void
enableAlphaChannelVideoEncoder(boolean enable, int layoutType, int channelIndex)
开启视频编码器透明通道支持。void
enableAudioPostp(boolean enable, java.lang.String streamId)
开启或关闭音频后处理功能,并设置预处理参数,通过setAudioPostpCallback(IZegoAudioPostpCallback, ZegoExtPrepSet)
设置的回调处理音频数据void
enableAudioPrepVADStableStateMonitor(boolean enable)
开启音频外部预处理后的音频数据的语音状态检测void
enableAudioPrepVADStableStateMonitor(boolean enable, int period)
开启音频外部预处理后的音频数据的语音状态检测boolean
enableBeautifying(int feature)
开启美颜。boolean
enableBeautifying(int feature, int channelIndex)
开启美颜。boolean
enableCamera(boolean enable)
摄像头开关.boolean
enableCamera(boolean enable, int channelIndex)
摄像头开关.void
enableCapturedAudioVADStableStateMonitor(boolean enable)
开启采集后的音频数据语音状态检测(包括麦克风采集和外部音频采集)void
enableCapturedAudioVADStableStateMonitor(boolean enable, int period)
开启采集后的音频数据语音状态检测(包括麦克风采集和外部音频采集)boolean
enableCaptureMirror(boolean enable)
采集镜像开关.boolean
enableCaptureMirror(boolean enable, int channelIndex)
采集镜像开关.static void
enableCheckPoc(boolean enable)
帧顺序检测开关.void
enableColorEnhancement(boolean enable, ZegoColorEnhancementParams params, int channel)
开启色彩增强void
enableDTX(boolean enable)
是否开启离散音频包发送static void
enableExtractLibFromAPK(boolean enable)
boolean
enableH265EncodeFallback(boolean enable)
设置开启 H.265 编码自动降级到 H.264 编码boolean
enableLoopback(boolean enable)
开启采集监听.boolean
enableMic(boolean enable)
麦克风开关.boolean
enableMicDevice(boolean enable)
设置是否允许SDK使用麦克风设备。调用时机为引擎创建后的任意时刻。接口由于涉及对设备的操作,极为耗时,不建议随便调用,只在真正需要让出麦克风给其他应用的时候才调用。boolean
enableNoiseSuppress(boolean enable)
boolean
enablePlayVirtualStereo(boolean enable, int angle, java.lang.String streamID)
设置拉的流的虚拟立体声源相对于本端的角度,可以实现空间音频效果boolean
enablePreviewMirror(boolean enable)
预览镜像开关.boolean
enablePreviewMirror(boolean enable, int channelIndex)
预览镜像开关.int
enablePublishStreamAlignment(boolean enable)
Deprecated.请使用 setStreamAlignmentProperty 替代boolean
enableRateControl(boolean enable)
码率控制开关(在带宽不足的情况下码率自动适应当前带宽)boolean
enableRateControl(boolean enable, int channelIndex)
码率控制开关(在带宽不足的情况下码率自动适应当前带宽)void
enableScreenCaptureEncodeOptimization(boolean enable, int channelIndex)
开启屏幕分享编码优化boolean
enableSelectedAudioRecord(int mask, int sampleRate)
Deprecated.boolean
enableSelectedAudioRecord(ZegoAudioRecordConfig config)
开启音源回调,常用于音频录制。boolean
enableSpeaker(boolean enable)
静音开关.boolean
enableTorch(boolean enable)
手电筒开关.boolean
enableTorch(boolean enable, int channelIndex)
手电筒开关.void
enableTrafficControl(int properties, boolean enable)
主推流通道流量控制(帧率、分辨率)开关.void
enableTrafficControl(int properties, boolean enable, int channelIndex)
流量控制(帧率、分辨率)开关.boolean
enableTransientNoiseSuppress(boolean enable)
void
enableVAD(boolean enable)
是否开启语音活动检测void
enableVideoObjectSegmentation(boolean enable, int type, int channelIndex)
开启视频主体分割void
enableVideoObjectSegmentation(boolean enable, ZegoObjectSegmentationConfig config, int channel)
开启视频主体分割void
enableVideoSuperResolution(java.lang.String streamID, boolean enable)
开启视频画面超分boolean
enableViewMirror(boolean enable, java.lang.String streamID)
开启播放镜像.boolean
endJoinLive(java.lang.String userId, IZegoEndJoinLiveCallback callback)
主播向连麦观众发送结束连麦信令。boolean
endJoinLive(java.lang.String userId, java.lang.String roomId, IZegoEndJoinLiveCallback callback)
主播向连麦观众发送结束连麦信令。int
getAudioRouteType()
获取Audio Route类型.float
getCaptureSoundLevel()
获取采集音量大小.static int
getMaxPlayChannelCount()
获取最大拉流路数.static int
getMaxPublishChannelCount()
获取最大推流路数.float
getSoundLevelOfStream(java.lang.String streamID)
获取当前播放视频的音量.ZegoUser
getUserByStreamID(java.lang.String streamID)
获取发布指定流 ID 的发布者信息ZegoCodecCapabilityInfo[]
getVideoCodecCapabilityList()
获取设备支持的编码格式boolean
initSDK(long appID, byte[] appSign)
初始化 App 相关信息.boolean
initSDK(long appID, byte[] appSign, android.content.Context context)
Deprecated.请使用initSDK(long, byte[])
替代boolean
initSDK(long appID, byte[] appSign, IZegoInitSDKCompletionCallback callback)
初始化 App 相关信息.void
initVideoSuperResolution()
初始化超分boolean
inviteJoinLive(java.lang.String userID, IZegoResponseCallback callback)
主播邀请观众连麦。boolean
inviteJoinLive(java.lang.String userID, java.lang.String roomID, IZegoResponseCallback callback)
主播邀请观众连麦。boolean
isVideoDecoderSupported(int codecID)
获取 SDK 是否支持指定解码能力int
isVideoDecoderSupported(int codecID, int codecBackend)
获取 SDK 是否支持指定解码能力boolean
isVideoEncoderSupported(int codecID)
获取 SDK 是否支持指定编码能力int
isVideoEncoderSupported(int codecID, int codecBackend)
获取 SDK 是否支持指定编码能力boolean
loginRoom(java.lang.String roomID, int role, IZegoLoginCompletionCallback callback)
登录房间。boolean
loginRoom(java.lang.String roomID, java.lang.String roomName, int role, IZegoLoginCompletionCallback callback)
登录房间。boolean
logoutRoom()
退出房间, 此方法没有回调通知,默认退出房间之后可直接登录别的房间boolean
logoutRoom(java.lang.String roomID)
退出房间, 此方法没有回调通知,默认退出房间之后可直接登录别的房间int
muteAudioPublish(boolean mute)
推流时是否发送音频数据。int
muteAudioPublish(boolean mute, int channelIndex)
推流时是否发送音频数据。int
muteVideoPublish(boolean mute)
推流时是否发送视频数据。int
muteVideoPublish(boolean mute, int channelIndex)
推流时是否发送视频数据。void
onAlignedAudioAuxDataCallback(ZegoAudioFrame frame, int channel)
ZegoAudioFrame
onAudioPostp(ZegoAudioFrame inFrame, java.lang.String streamId)
ZegoAudioFrame
onAudioPrep(ZegoAudioFrame inFrame)
void
onAudioPrepVADStateUpdate(int state)
ZegoAudioFrame
onAudioProc(ZegoAudioFrame inFrame)
void
onAudioRecordCallback(byte[] data, int sampleRate, int channelCount, int bitDepth, int type)
void
onAudioRouteChange(int audioRoute)
void
onAVEngineStart()
void
onAVEngineStop()
void
onCaptureAudioFirstFrame()
void
onCapturedAudioVADStateUpdate(int state)
void
onCaptureVideoFirstFrame()
void
onCaptureVideoFirstFrame(int channelIndex)
void
onCaptureVideoSizeChanged(int width, int height)
void
onCaptureVideoSizeChanged(int channelIndex, int width, int height)
void
onCustomCommand(int errorCode, int requestSeq, java.lang.String roomID)
void
onDeviceError(java.lang.String deviceName, int errorCode)
void
onDisconnect(int errorCode, java.lang.String roomID)
void
onEndJoinLive(int result, int seq, java.lang.String roomID)
void
onExperimentalAPICallback(java.lang.String params)
void
onFatalError(int errorCode)
void
onInitSDK(int errorCode)
void
onInviteJoinLiveRequest(int seq, java.lang.String fromUserID, java.lang.String fromUserName, java.lang.String roomID)
void
onInviteJoinLiveResponse(int result, java.lang.String fromUserID, java.lang.String fromUserName, int seq)
void
onJoinLiveRequest(int seq, java.lang.String fromUserID, java.lang.String fromUserName, java.lang.String roomID)
void
onJoinLiveResponse(int result, java.lang.String fromUserID, java.lang.String fromUserName, int seq)
void
onKickOut(int reason, java.lang.String roomID, java.lang.String customReason)
void
onLiveEvent(int event, java.util.HashMap<java.lang.String,java.lang.String> info)
void
onLogHook(java.lang.String logMessage)
void
onLoginRoom(int errorCode, java.lang.String roomID, ZegoStreamInfo[] listStream)
void
onLogUploadResult(int errorCode)
void
onLogWillOverwrite()
void
onNetTypeChange(int netType)
void
onNetworkQuality(java.lang.String userID, int txQuality, int rxQuality)
void
onPlayQualityUpdate(java.lang.String streamID, ZegoPlayStreamQuality streamQuality)
void
onPlayStateUpdate(int stateCode, java.lang.String streamID)
void
onPlayStatsUpdate(ZegoPlayStats stats)
void
onPlayVideoSuperResolutionUpdate(java.lang.String streamID, int state, int errorCode)
void
onPreviewSnapshot(int channelIndex, android.graphics.Bitmap img)
void
onPreviewSnapshot(android.graphics.Bitmap img)
void
onPreviewVideoFirstFrame(int channelIndex)
void
onPublishQulityUpdate(java.lang.String streamID, ZegoPublishStreamQuality streamQuality)
void
onPublishStateUpdate(int stateCode, java.lang.String streamID, java.util.HashMap<java.lang.String,java.lang.Object> streamInfo)
void
onReconnect(int errorCode, java.lang.String roomID)
void
onRecvBigRoomMessage(java.lang.String roomID, ZegoBigRoomMessage[] listMessage)
void
onRecvCustomCommand(java.lang.String userID, java.lang.String userName, java.lang.String content, java.lang.String roomID)
void
onRecvEndJoinLiveCommand(java.lang.String fromUserId, java.lang.String fromUserName, java.lang.String roomId)
void
onRecvRealtimeSequentialData(java.nio.ByteBuffer data, java.lang.String streamID)
void
onRecvRemoteAudioFirstFrame(java.lang.String streamID)
void
onRecvRemoteVideoFirstFrame(java.lang.String streamID)
void
onRecvRoomMessage(java.lang.String roomID, ZegoRoomMessage[] listMessage)
void
onRelayCDNStateUpdate(ZegoStreamRelayCDNInfo[] statesInfo, java.lang.String streamID)
void
onRemoteCameraStatusUpdate(java.lang.String streamID, int status, int reason)
void
onRemoteMicStatusUpdate(java.lang.String streamID, int status, int reason)
void
onRemoteSpeakerStatusUpdate(java.lang.String streamID, int status, int reason)
void
onRenderRemoteVideoFirstFrame(java.lang.String streamID)
void
onRequestDumpData()
void
onRequestUploadDumpData(java.lang.String dumpDir, boolean take_photo)
void
onRoomInfoUpdated(ZegoRoomInfo roomInfo, java.lang.String roomID)
void
onRunLoopObserveCallback(long taskId, int type, int taskDispatchTime, int taskRunTime, int taskTotalTime)
void
onSendBigRoomMessage(int errorCode, java.lang.String roomID, int sendSeq, java.lang.String messageID)
void
onSendLocalAudioFirstFrame(int channelIndex)
void
onSendLocalVideoFirstFrame(int channelIndex)
void
onSendRealtimeSequentialData(int seq, int errorCode)
void
onSendRoomMessage(int errorCode, java.lang.String roomID, int sendSeq, long messageID)
void
onSnapshot(android.graphics.Bitmap img, java.lang.String streamID)
void
onStartDumpData(int error)
void
onStopDumpData(int error, java.lang.String dumpDir)
void
onStreamEvent(int event, java.lang.String streamID, java.util.HashMap<java.lang.String,java.lang.String> extraInfo)
void
onStreamExtraInfoUpdated(ZegoStreamInfo[] listStream, java.lang.String roomID)
void
onStreamUpdated(int type, ZegoStreamInfo[] listStream, java.lang.String roomID)
void
onTempBroken(int errorCode, java.lang.String roomID)
void
onTokenWillExpired(java.lang.String roomID, int remainTimeInSecond)
void
onUpdateOnlineCount(java.lang.String roomID, int onlineCount)
void
onUpdatePublishTargetState(int errorCode, java.lang.String streamID, int seq)
void
onUploadDumpData(int error)
void
onUserUpdate(ZegoUserState[] listUser, int updateType, java.lang.String roomID)
void
onVideoDecoderError(int codecID, int errorCode, java.lang.String streamID)
void
onVideoEncoderChanged(int fromCodecID, int toCodecID, int channel)
void
onVideoEncoderError(int codecID, int errorCode, int channel)
void
onVideoObjectSegmentationStateChanged(int state, int channelIndex, int errorCode)
void
onVideoSizeChanged(java.lang.String streamID, int width, int height)
void
pauseModule(int moduleType)
void
removeDumpData()
删除转储数据boolean
requestJoinLive(IZegoResponseCallback callback)
观众向主播请求连麦。boolean
requestJoinLive(java.lang.String roomID, IZegoResponseCallback callback)
观众向主播请求连麦。static boolean
requireHardwareDecoder(boolean require)
开启/关闭拉流硬件解码。boolean
requireHardwareDecoderByStream(boolean require, java.lang.String streamID)
为指定拉流通道开启/关闭拉流硬件解码,当 streamID 为 null 或者 "" 时为所有拉流道通开启/关闭硬件解码.static boolean
requireHardwareEncoder(boolean require)
开启/关闭推流硬件编码。boolean
requireHardwareEncoderByChannel(boolean require, int channelIndex)
为某个推流道通单独开启/关闭推流硬件编码。boolean
respondInviteJoinLiveReq(int seq, int rspResult)
观众响应主播的"连麦邀请"。boolean
respondInviteJoinLiveReq(int seq, int rspResult, java.lang.String roomID)
观众响应主播的"连麦邀请"。boolean
respondJoinLiveReq(int seq, int rspResult)
主播响应观众的"连麦请求"。boolean
respondJoinLiveReq(int seq, int rspResult, java.lang.String roomID)
主播响应观众的"连麦请求"。void
resumeModule(int moduleType)
恢复设备模块。 用于需要恢复指定模块的场合,例如来电结束后恢复音频模块。boolean
sendBigRoomMessage(int messageType, int messageCategory, java.lang.String content, IZegoBigRoomMessageCallback callback)
发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。boolean
sendBigRoomMessage(int messageType, int messageCategory, java.lang.String content, java.lang.String roomID, IZegoBigRoomMessageCallback callback)
发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。boolean
sendCustomCommand(ZegoUser[] listMember, java.lang.String content, IZegoCustomCommandCallback callback)
发送自定义消息.boolean
sendCustomCommand(ZegoUser[] listMember, java.lang.String content, java.lang.String roomID, IZegoCustomCommandCallback callback)
发送自定义消息.int
sendRealtimeSequentialData(java.nio.ByteBuffer data, int channelIndex)
发送通过流传输的实时有序数据boolean
sendRoomMessage(int messageType, int messageCategory, java.lang.String content, IZegoRoomMessageCallback callback)
发送房间内广播消息。boolean
sendRoomMessage(int messageType, int messageCategory, java.lang.String content, java.lang.String roomID, IZegoRoomMessageCallback callback)
发送房间内广播消息。void
setAECMode(int mode)
设置回声消除模式void
setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback callback)
设置对齐后的混音数据回调enableAlignedAudioAuxData(boolean, ZegoAudioAuxDataConfig)
设置为 true 时才会回调boolean
setAppOrientation(int orientation)
设置app朝向.boolean
setAppOrientation(int orientation, int channelIndex)
设置app朝向.boolean
setAppOrientationMode(int mode)
设置视频朝向模式boolean
setAudioBitrate(int bitrate)
设置主通道音频码率.boolean
setAudioBitrate(int bitrate, int channelIndex)
设置音频码率.void
setAudioCaptureShiftOnMix(int shiftMS)
设置麦克风采集声音在混音过程中的偏移void
setAudioChannelCount(int count)
设置所有推流通道的推流音频声道数.void
setAudioChannelCountByChannel(int count, int channelIndex)
设置指定推流通道的推流音频声道数.static boolean
setAudioDevice(int deviceType, java.lang.String deviceId)
设置音频设备。static void
setAudioDeviceMode(int mode)
设置音频设备模式.boolean
setAudioEqualizerGain(int bandIndex, float bandGain)
Deprecated.请使用 ZegoAudioProcessing#setAudioEqualizerGain(int, float)boolean
setAudioMixMode(int mixMode, java.util.List<java.lang.String> streamIDs)
设置多路混音时突出的拉流通道,当有多路流同时发声,将突出streamIDs中的流void
setAudioPostpCallback(IZegoAudioPostpCallback callback, ZegoExtPrepSet config)
设置音频后处理回调,仅在enableAudioPostp(boolean, String)
设置为 true 时才会回调void
setAudioPrepAfterLoopbackCallback(IZegoAudioProcCallback callback, ZegoExtPrepSet config)
设置音频(耳返后)处理回调, 并开启/关闭音频处理特性void
setAudioPrepCallback(IZegoAudioPrepCallback2 callback, ZegoExtPrepSet config)
设置音频前(3A处理后、耳返前)处理回调, 并开启/关闭音频前处理特性boolean
setAudioSource(int srcType, int channelIndex)
设置采集音频源类型void
setAudioVADStableStateCallback(IZegoCheckAudioVADCallback callback)
设置检测语音状态的回调boolean
setAVConfig(ZegoAvConfig zegoAvConfig)
设置推流配置.boolean
setAVConfig(ZegoAvConfig zegoAvConfig, int channelIndex)
设置推流配置.boolean
setAVConfigInner(ZegoAvConfig zegoAvConfig, int channelIndex)
boolean
setBuiltInSpeakerOn(boolean on)
内置扬声器开关.static void
setBusinessType(int type)
设置业务类型.boolean
setCaptureFrameRotation(int rotation, int channelIndex)
设置采集旋转角度.void
setCapturePipelineScaleMode(int mode)
设置视频采集缩放时机void
setCaptureVolume(int volume)
设置采集音量void
setChannelExtraParam(java.lang.String param_config, int channelIndex)
给推流通道设置扩展参数,一般不建议修改void
setCloudProxyConfig(java.util.ArrayList<ZegoProxyInfo> proxyList, java.lang.String token, boolean enable)
设置云代理static void
setConfig(java.lang.String config)
设置sdk配置信息.boolean
setCustomCDNPublishTarget(ZegoCDNPublishTarget target, int channelIndex)
设置自定义直推CDN的配置,可支持TCP, QUIC协议boolean
setCustomToken(java.lang.String thirdPartyToken)
Deprecated.请使用setToken(String, String)
代替static boolean
setDummyCaptureImagePath(android.net.Uri imageUri, int channelIndex)
设置关闭摄像头时所推静态图片的路径。static boolean
setDummyCaptureImagePath(java.lang.String imagePath, int channelIndex)
设置关闭摄像头时所推静态图片的路径。void
setDumpDataCallback(IZegoDumpDataCallback callback)
设置转储数据的回调void
setExperimentalAPICallback(IZegoExperimentalAPICallback callback)
设置试验性API回调boolean
setFilter(int filter)
设置滤镜。boolean
setFilter(int filter, int channelIndex)
设置滤镜。boolean
setFrontCam(boolean front)
前置摄像头开关.boolean
setFrontCam(boolean front, int channelIndex)
前置摄像头开关.static boolean
setGeoFence(int type, java.util.List<java.lang.Integer> area_list)
设置地理围栏void
setLatencyMode(int mode)
设置所有推流通道的延迟模式void
setLatencyModeByChannel(int mode, int channelIndex)
设置指定推流通道的延迟模式void
setLocalProxyConfig(java.util.ArrayList<ZegoProxyInfo> proxyList, boolean enable)
设置本地代理static void
setLogPath(java.lang.String logPath)
Deprecated.请使用setSDKContext(SDKContext)
方法替代void
setLoopbackVolume(int volume)
设置采集监听音量boolean
setLowlightEnhancement(int mode, int channelIndex)
void
setMinVideoBitrateForTrafficControl(int bitrate, int mode)
设置主推流通道流量控制的视频码率最小值void
setMinVideoBitrateForTrafficControl(int bitrate, int mode, int channelIndex)
设置流量控制的视频码率最小值void
setMinVideoFpsForTrafficControl(int fps, int channelIndex)
设置流量控制的视频帧率最小值void
setMinVideoResolutionForTrafficControl(int width, int height, int channelIndex)
设置流量控制的视频分辨率最小值boolean
setNoiseSuppressMode(int mode)
设置音频采集降噪等级。static boolean
setPlayQualityMonitorCycle(long timeInMS)
设置拉流质量监控周期.boolean
setPlayStreamFocus(java.lang.String streamID)
设置拉流优先级的权重,被置为 focus 的流,优先保证其质量。int
setPlayStreamsAlignmentProperty(int alignment)
设置拉流是否校准网络时间,用于有对齐属性的各路流进行时间对齐boolean
setPlayVolume(int volume)
统一设置所有拉流的播放音量.boolean
setPlayVolume(int volume, java.lang.String streamID)
设置指定拉流的播放音量.boolean
setPolishFactor(float factor)
设置美颜采样颜色阈值.boolean
setPolishFactor(float factor, int channelIndex)
设置美颜采样颜色阈值。boolean
setPolishStep(float step)
设置美颜磨皮的采样步长。boolean
setPolishStep(float step, int channelIndex)
设置美颜磨皮的采样步长.boolean
setPreviewRotation(int rotation)
设置预览朝向.boolean
setPreviewRotation(int rotation, int channelIndex)
设置预览朝向.boolean
setPreviewView(java.lang.Object view)
设置本地预览视频的View.boolean
setPreviewView(java.lang.Object view, boolean alphaBlend, int channelIndex)
设置本地预览视频的View.boolean
setPreviewView(java.lang.Object view, int channelIndex)
设置本地预览视频的View.boolean
setPreviewViewBackgroundColor(int color)
设置预览控件的背景颜色boolean
setPreviewViewBackgroundColor(int color, int channelIndex)
设置预览控件的背景颜色boolean
setPreviewViewMode(int mode)
设置预览模式.boolean
setPreviewViewMode(int mode, int channelIndex)
设置预览模式.static boolean
setPreviewWaterMarkRect(android.graphics.Rect rect)
设置预览水印图片的位置。static boolean
setPreviewWaterMarkRect(android.graphics.Rect rect, int channelIndex)
设置预览水印图片的位置。void
setPublishConfig(java.util.Map<java.lang.String,java.lang.Object> config)
设置推流参数.void
setPublishConfig(java.util.Map<java.lang.String,java.lang.Object> config, int channelIndex)
设置推流参数.boolean
setPublishDualStreamConfig(ZegoPublishDualStreamConfig[] configList, int channelIndex)
设置大小流每层的配置参数void
setPublishEncryptKey(byte[] key, int channelIndex)
设置推流加密密钥.static boolean
setPublishQualityMonitorCycle(long timeInMS)
设置推流质量监控周期.static boolean
setPublishWaterMarkRect(android.graphics.Rect rect)
设置推流水印图片的位置。static boolean
setPublishWaterMarkRect(android.graphics.Rect rect, int channelIndex)
设置推流水印图片的位置。boolean
setRecvBufferLevelLimit(int minBufferLevel, int maxBufferLevel, java.lang.String streamId)
设置拉流播放缓存自适应调整的区间范围(上下限)boolean
setRoomConfig(boolean audienceCreateRoom, boolean userStateUpdate)
设置房间配置信息。boolean
setRoomConfig(boolean audienceCreateRoom, boolean userStateUpdate, java.lang.String roomID)
设置房间配置信息。boolean
setRoomMaxUserCount(int maxCount)
设置房间最大在线人数boolean
setRoomMaxUserCount(int maxCount, java.lang.String roomID)
设置房间最大在线人数static boolean
setRoomMode(int mode)
设置房间模式void
setRunLoopObserveCallback(IZegoRunLoopObserveCallback callback)
设置runloop observe回调 建议每次initSDK前调用 unInitSDK 会清除此回调static int
setSDKContext(ZegoLiveRoom.SDKContext sdkContext)
设置 SDK 上下文,如日志路径、Application Context 等,同时检查 so 库是否成功加载。boolean
setSharpenFactor(float factor)
设置锐化参数。boolean
setSharpenFactor(float factor, int channelIndex)
设置锐化参数。int
setStreamAlignmentProperty(int alignment, int channelIndex)
设置指定通道推流是否校准网络时间,用于混流时各路流的对齐static void
setTestEnv(boolean useTestEnv)
测试环境开关.业务上线时需将此接口设置为 false ,或将该接口注释。boolean
setToken(java.lang.String token, java.lang.String roomID)
设置鉴权 token 信息。void
setTrafficControlFocusOn(int focusOn)
设置主推流通道触发流量控制的关注因素void
setTrafficControlFocusOn(int focusOn, int channelIndex)
设置触发流量控制的关注因素static boolean
setUser(java.lang.String userID, java.lang.String userName)
设置用户信息.static void
setVerbose(boolean onVerbose)
调试信息输出开关.启用后,控制台会输出用户调用信息,并且会在SDK日志目录生成 明文的用户可见的日志文件,建议InitSDK前调用boolean
setVideoCaptureDeviceId(java.lang.String id, int channelIndex)
设置视频采集设备ID。 通过设置设备ID,可以切换视频采集设备boolean
setVideoCodecId(int codecId, int channelIndex)
设置选用分层编码void
setVideoEncoderRateControlConfig(int strategy, int encoderCRF)
设置编码器码率控制策略void
setVideoEncoderRateControlConfig(int strategy, int encoderCRF, int channelIndex)
设置编码器码率控制策略boolean
setVideoKeyFrameInterval(int intervalSecond)
设置视频关键帧间隔.boolean
setVideoKeyFrameInterval(int intervalSecond, int channelIndex)
设置视频关键帧间隔.boolean
setVideoMirrorMode(int mode, int channelIndex)
是否启用预览和推流镜像boolean
setVideoSource(int srcType, int channelIndex)
设置采集视频源类型boolean
setVideoSource(int srcType, int instanceID, int channelIndex)
设置采集视频源类型boolean
setViewBackgroundColor(int color, java.lang.String streamID)
设置用于拉流的View的背景颜色.boolean
setViewMode(int mode, java.lang.String streamID)
设置用于拉流的View的播放模式.boolean
setViewRotation(int rotation, java.lang.String streamID)
设置播放渲染朝向.static boolean
setWaterMarkImagePath(android.net.Uri imageUri)
设置水印图片的路径。 注意:必须在setSDKContext(SDKContext)
后调用。static boolean
setWaterMarkImagePath(android.net.Uri imageUri, int channelIndex)
设置水印图片的路径。 注意:必须在setSDKContext(SDKContext)
后调用。static boolean
setWaterMarkImagePath(java.lang.String imagePath)
设置水印图片的路径。 注意:必须在setSDKContext(SDKContext)
后调用。static boolean
setWaterMarkImagePath(java.lang.String imagePath, int channelIndex)
设置水印图片的路径。 注意:必须在setSDKContext(SDKContext)
后调用。boolean
setWhitenFactor(float factor)
设置美颜美白的亮度修正参数。boolean
setWhitenFactor(float factor, int channelIndex)
设置美颜美白的亮度修正参数。void
setZegoAudioRecordCallback(IZegoAudioRecordCallback callback)
设置音频录制回调接口。void
setZegoAudioRecordCallback(IZegoAudioRecordCallback2 callback)
设置音频录制回调接口。void
setZegoAudioRouteCallback(IZegoAudioRouteCallback callback)
void
setZegoAVEngineCallback(IZegoAVEngineCallback callback)
设置音视频引擎回调接口void
setZegoDeviceEventCallback(IZegoDeviceEventCallback callback)
设置设备事件回调接口.void
setZegoIMCallback(IZegoIMCallback callback)
void
setZegoLiveEventCallback(IZegoLiveEventCallback callback)
设置直播事件回调接口.void
setZegoLivePlayerCallback(IZegoLivePlayerCallback callback)
设置观众回调接口.void
setZegoLivePublisherCallback(IZegoLivePublisherCallback callback)
设置主播回调接口.void
setZegoLivePublisherCallback2(IZegoLivePublisherCallback2 callback2)
设置主播回调接口2.void
setZegoLivePublisherExCallback(IZegoLivePublisherExCallback callback)
设置高级主播回调接口.void
setZegoLogInfoCallback(IZegoLogInfoCallback callback)
设置日志信息回调接口.void
setZegoNetTypeCallback(IZegoNetTypeCallback callback)
设置接收网络状态切换的回调void
setZegoRealtimeSequentialDataCallback(IZegoRealtimeSequentialDataCallback callback)
设置实时有序数据回调void
setZegoRoomCallback(IZegoRoomCallback callback)
设置房间回调接口.void
startDumpData(ZegoDumpDataConfig config)
开启转储数据boolean
startPlayingStream(java.lang.String streamID, java.lang.Object view)
开始拉流.boolean
startPlayingStream(java.lang.String streamID, java.lang.Object view, ZegoStreamExtraPlayInfo info)
开始拉流.boolean
startPlayingStream(java.lang.String streamID, java.lang.Object view, java.lang.String params)
开始拉流.boolean
startPlayingStreamWithParams(ZegoPlayStreamParams params)
开始拉流.boolean
startPreview()
启动本地预览.boolean
startPreview(int channelIndex)
启动本地预览.boolean
startPublishing(java.lang.String streamID, java.lang.String title, int flag)
开始推流.boolean
startPublishing(java.lang.String streamID, java.lang.String title, int flag, java.lang.String extraInfo)
开始推流, 可附加流信息.boolean
startPublishing2(java.lang.String streamID, java.lang.String title, int flag, int channelIndex)
开始推流, 可附加流信息.boolean
startPublishing2(java.lang.String streamID, java.lang.String title, int flag, java.lang.String extraInfo, int channelIndex)
开始推流, 可附加流信息.boolean
startPublishing2(java.lang.String streamID, java.lang.String title, int flag, java.lang.String extraInfo, java.lang.String params, int channelIndex)
开始推流, 可附加流信息.boolean
startPublishingWithParams(ZegoPublishStreamParams params)
开始推流, 可附加流信息.void
stopDumpData()
停止转储数据boolean
stopPlayingStream(java.lang.String streamID)
停止拉流.boolean
stopPreview()
结束本地预览.boolean
stopPreview(int channelIndex)
结束本地预览.boolean
stopPublishing()
停止推流.boolean
stopPublishing(int channelIndex)
停止推流.boolean
switchRoom(java.lang.String roomID, java.lang.String roomName, int role, IZegoLoginCompletionCallback callback)
切换房间boolean
switchRoom(java.lang.String fromRoomID, java.lang.String toRoomID, java.lang.String roomName, int role, IZegoLoginCompletionCallback callback)
切换房间 切换房间 调用成功 会停止推拉流(登录房间成功后,需要快速切换到其它房间时使用,,也会停止MultiRoom的拉流)boolean
takePreviewSnapshot(IZegoSnapshotCompletionCallback callback)
获取预览截图.boolean
takePreviewSnapshot(IZegoSnapshotCompletionCallback2 callback, int channelIndex)
获取预览截图.boolean
takeSnapshotOfStream(java.lang.String streamID, IZegoSnapshotCompletionCallback callback)
截取观看直播view图像.boolean
unInitSDK()
释放 SDK 资源,停止各种系统监听void
uninitVideoSuperResolution()
反初始化超分void
updatePlayDecryptKey(java.lang.String streamId, byte[] key)
设置拉流解密密钥.boolean
updatePlayToken(java.lang.String streamId, byte[] token)
拉流时设置的Token即将过期,调用该 API 变更。boolean
updatePlayView(java.lang.String streamID, java.lang.Object view)
更新播放流的View.boolean
updatePlayView(java.lang.String streamID, java.lang.Object view, boolean alphaBlend)
更新播放流的View.boolean
updateStreamExtraInfo(java.lang.String extraInfo)
更新流的附加信息.boolean
updateStreamExtraInfo(java.lang.String extraInfo, int channelIndex)
更新流的附加信息.void
uploadDumpData()
上传转储数据到 ZEGO 服务端static void
uploadLog()
上传 log 到 ZEGO 服务器,static java.lang.String
version()
获取 SDK 版本信息.static java.lang.String
version2()
获取 Video Engine 版本信息.
-
-
-
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 传回的音频数据
-
setZegoAudioRecordCallback
public void setZegoAudioRecordCallback(IZegoAudioRecordCallback2 callback)
设置音频录制回调接口。- Parameters:
callback
- 实现IZegoAudioRecordCallback2
接口的对象实例,用于接收 SDK 传回的音频数据,如用于永久存储等- See Also:
enableSelectedAudioRecord(ZegoAudioRecordConfig)
-
setZegoIMCallback
public void setZegoIMCallback(IZegoIMCallback callback)
-
setZegoAVEngineCallback
public void setZegoAVEngineCallback(IZegoAVEngineCallback callback)
设置音视频引擎回调接口开发者可以通过此接口设置回调对象来监听引擎的启动或停止状态
建议开发者在调用初始化 SDK 接口之后、登录房间接口之前设置该回调接口
- Parameters:
callback
- 音视频引擎回调接口
-
setLatencyMode
public void setLatencyMode(int mode)
设置所有推流通道的延迟模式注意:必须在初始化 SDK 之后,推流之前调用
- Parameters:
mode
- 延迟模式,参见ZegoConstants.LatencyMode
, 默认值ZegoConstants.LatencyMode.Normal
-
setLatencyModeByChannel
public void setLatencyModeByChannel(int mode, int channelIndex)
设置指定推流通道的延迟模式注意:必须在初始化 SDK 之后,推流之前调用
- Parameters:
mode
- 延迟模式,参见ZegoConstants.LatencyMode
, 默认值ZegoConstants.LatencyMode.Normal
channelIndex
- 推流通道 index, 参考ZegoConstants.PublishChannelIndex
-
setCapturePipelineScaleMode
public void setCapturePipelineScaleMode(int mode)
设置视频采集缩放时机注意:在初始化 SDK 后,启动预览和开始推流前调用. 摄像头启动之后设置不会立即生效,而是在下次摄像头启动时生效
- Parameters:
mode
- 视频采集缩放时机,参见ZegoConstants.ZegoCapturePipelineScaleMode
。默认值ZegoConstants.ZegoCapturePipelineScaleMode.PRE
-
setRoomMode
public static boolean setRoomMode(int mode)
设置房间模式注意:必须在初始化 SDK 之前调用
- Parameters:
mode
- 房间模式, 参见ZegoConstants.ZegoRoomMode
- Returns:
- true 成功, false 失败
-
setGeoFence
public static boolean setGeoFence(int type, java.util.List<java.lang.Integer> area_list)
设置地理围栏- Parameters:
type
- 地理围栏类型,参见ZegoConstants.ZegoGeoFenceType
area_list
- 区域列表,参见ZegoConstants.ZegoGeoFenceAeraCode
- 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
- 是否启用代理.
-
setRoomConfig
public boolean setRoomConfig(boolean audienceCreateRoom, boolean userStateUpdate)
设置房间配置信息。注意: 1.必须在
loginRoom(String, int, IZegoLoginCompletionCallback)
orloginRoom(String, String, int, IZegoLoginCompletionCallback)
之前调用。退出房间后失效。
2.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
3.多房间模式请使用setRoomConfig(boolean,boolean,String)
指定房间 ID。
- Parameters:
audienceCreateRoom
- 观众是否可以创建房间:true: 可以,false: 不可以。默认值为 trueuserStateUpdate
- 用户状态(进入/退出房间))是否广播:
true: 房间内用户状态改变时,其他用户会收到IZegoIMCallback.onUserUpdate(com.zego.zegoliveroom.entity.ZegoUserState[], int, java.lang.String)
回调;
false: 房间内用户状态改变时,其他用户不会收到IZegoIMCallback.onUserUpdate(com.zego.zegoliveroom.entity.ZegoUserState[], int, java.lang.String)
回调
userStateUpdate为房间属性而非用户属性,设置的是该房间内是否会进行用户状态的广播。如果需要在房间内用户状态改变时,其他用户能收到通知,请为所有用户设置为true;反之,设置为false。设置为true后,方可从OnUserUpdate回调收到用户状态变更通知- Returns:
- true: 调用成功;false: 调用失败
-
setRoomConfig
public boolean setRoomConfig(boolean audienceCreateRoom, boolean userStateUpdate, java.lang.String roomID)
设置房间配置信息。注意: 1.必须在
loginRoom(String, int, IZegoLoginCompletionCallback)
orloginRoom(String, String, int, IZegoLoginCompletionCallback)
之前调用。退出房间后失效
2.支持单房间,支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
3.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
audienceCreateRoom
- 观众是否可以创建房间:true: 可以,false: 不可以。默认值为 trueuserStateUpdate
- 用户状态(进入/退出房间))是否广播:
true: 房间内用户状态改变时,其他用户会收到IZegoIMCallback.onUserUpdate(com.zego.zegoliveroom.entity.ZegoUserState[], int, java.lang.String)
回调;
false: 房间内用户状态改变时,其他用户不会收到IZegoIMCallback.onUserUpdate(com.zego.zegoliveroom.entity.ZegoUserState[], int, java.lang.String)
回调
userStateUpdate为房间属性而非用户属性,设置的是该房间内是否会进行用户状态的广播。如果需要在房间内用户状态改变时,其他用户能收到通知,请为所有用户设置为true;反之,设置为false。设置为true后,方可从OnUserUpdate回调收到用户状态变更通知roomID
- 房间 ID- Returns:
- true: 调用成功;false: 调用失败
-
setCustomToken
@Deprecated public boolean setCustomToken(java.lang.String thirdPartyToken)
Deprecated.请使用setToken(String, String)
代替设置自定义token信息。注意: 1.必须在
loginRoom(String, int, IZegoLoginCompletionCallback)
orloginRoom(String, String, int, IZegoLoginCompletionCallback)
之前调用。退出房间后失效。
2.使用此方法验证登录及推流时用户的合法性,登录房间前调用,支持登录后重置,token的生成规则请联系即构。若不需要验证用户合法性,不需要调用此函数。- Parameters:
thirdPartyToken
- token信息- Returns:
- true: 调用成功;false: 调用失败
-
setToken
public boolean setToken(java.lang.String token, java.lang.String roomID)
设置鉴权 token 信息。注意: 1.必须在
loginRoom(String, int, IZegoLoginCompletionCallback)
orloginRoom(String, String, int, IZegoLoginCompletionCallback)
之前调用。退出房间后失效。
2.使用此方法验证登录及推流时用户的合法性,登录房间前调用,支持登录后重置,token的生成规则请联系即构。若不需要验证用户合法性,不需要调用此函数。- Parameters:
token
- token信息roomID
- 房间 ID- Returns:
- true: 调用成功;false: 调用失败
-
setRoomMaxUserCount
public boolean setRoomMaxUserCount(int maxCount)
设置房间最大在线人数注意: 1.必须在
loginRoom(String, int, IZegoLoginCompletionCallback)
orloginRoom(String, String, int, IZegoLoginCompletionCallback)
之前调用。退出房间后失效。
2.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)。 3.多房间模式下请使用setRoomMaxUserCount(int, String)
,指定房间 ID。- Parameters:
maxCount
- 最大人数- Returns:
- true: 调用成功;false: 调用失败
-
setRoomMaxUserCount
public boolean setRoomMaxUserCount(int maxCount, java.lang.String roomID)
设置房间最大在线人数注意: 1.必须在
loginRoom(String, int, IZegoLoginCompletionCallback)
orloginRoom(String, String, int, IZegoLoginCompletionCallback)
之前调用。退出房间后失效。
2.支持单房间,支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)。
3.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
maxCount
- 最大人数roomID
- 房间 ID- Returns:
- true: 调用成功;false: 调用失败
-
setVideoCaptureDeviceId
public boolean setVideoCaptureDeviceId(java.lang.String id, int channelIndex)
设置视频采集设备ID。 通过设置设备ID,可以切换视频采集设备调用时机: 无要求
- Parameters:
id
- 设备ID 该ID为用户自己定义的设备IDchannelIndex
- 推流通道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
- 播放流 IDkey
- 解密密钥,支持16/24/32字节
-
startPlayingStream
public boolean startPlayingStream(java.lang.String streamID, java.lang.Object view)
开始拉流.注意: 1.当调用成功时,通过
IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调拉流状态。
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调。
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)。
4.多房间模式下,请使用startPlayingStreamWithParams(ZegoPlayStreamParams)
,指定房间 ID。- Parameters:
streamID
- 流 ID, 不能为空,长度不可超过 255 byte,支持可打印字符view
- 用于渲染视频的view,设置为空时不显示视频,只播放音频。推荐使用TextureView
,支持SurfaceView
或Surface
- Returns:
- true:调用成功, false:调用失败
-
startPlayingStream
public boolean startPlayingStream(java.lang.String streamID, java.lang.Object view, java.lang.String params)
开始拉流.注意: 1.当调用成功时,通过
IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调拉流状态。
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调。
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)。
4.多房间模式下,请使用startPlayingStreamWithParams(ZegoPlayStreamParams)
,指定房间 ID。- Parameters:
streamID
- 流 ID, 不能为空,长度不可超过 255 byte,支持可打印字符view
- 用于渲染视频的view,设置为空时不显示视频,只播放音频。推荐使用TextureView
,支持SurfaceView
或Surface
params
- 拉流参数- Returns:
- true:调用成功, false:调用失败
-
startPlayingStream
public boolean startPlayingStream(java.lang.String streamID, java.lang.Object view, ZegoStreamExtraPlayInfo info)
开始拉流.注意: 1.当调用成功时,通过
IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调拉流状态。
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调。
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)。
4.多房间模式下,请使用startPlayingStreamWithParams(ZegoPlayStreamParams)
,指定房间 ID。- Parameters:
streamID
- 流 ID, 不能为空,长度不可超过 255 byte,支持可打印字符view
- 用于渲染视频的view,设置为空时不显示视频,只播放音频。推荐使用TextureView
,支持SurfaceView
或Surface
info
- 拉流附加信息,各个值的含义请参考ZegoStreamExtraPlayInfo
- Returns:
- true:调用成功, false:调用失败
-
startPlayingStreamWithParams
public boolean startPlayingStreamWithParams(ZegoPlayStreamParams params)
开始拉流.注意: 1.当调用成功时,通过
IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调拉流状态。
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePlayerCallback.onPlayStateUpdate(int, java.lang.String)
回调。
3.支持单房间,支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)。
4.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
params
- 拉流参数,详见ZegoPlayStreamParams
- Returns:
- true:调用成功, false:调用失败
-
updatePlayView
public boolean updatePlayView(java.lang.String streamID, java.lang.Object view)
更新播放流的View.- Parameters:
streamID
- 流 ID, 不能为空,长度不可超过 255 byte,支持可打印字符view
- 用于渲染视频的view, 推荐使用TextureView
, 也可以使用SurfaceView
或Surface
- 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
, 也可以使用SurfaceView
或Surface
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 设置失败
-
requestJoinLive
public boolean requestJoinLive(IZegoResponseCallback callback)
观众向主播请求连麦。注意: 1.主播会收到
IZegoLivePublisherCallback.onJoinLiveRequest(int, java.lang.String, java.lang.String, java.lang.String)
回调。
2.支持单房间,不支持多房间模式(通过 SetRoomMode 接口开启 MultiRoom)。
3.多房间模式请使用requestJoinLive(String,IZegoResponseCallback)
指定房间 ID。- Parameters:
callback
- 实现了IZegoResponseCallback
的对象实例,用于接收主播的响应结果- Returns:
- true:调用成功,等待
IZegoResponseCallback.onResponse(int, String, String)
回调;false:调用失败
-
requestJoinLive
public boolean requestJoinLive(java.lang.String roomID, IZegoResponseCallback callback)
观众向主播请求连麦。注意: 1.主播会收到
IZegoLivePublisherCallback.onJoinLiveRequest(int, java.lang.String, java.lang.String, java.lang.String)
回调。
2.支持单房间,支持多房间模式(通过 SetRoomMode 接口开启 MultiRoom)。
3.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
roomID
- 房间 IDcallback
- 实现了IZegoResponseCallback
的对象实例,用于接收主播的响应结果- Returns:
- true:调用成功,等待
IZegoResponseCallback.onResponse(int, String, String)
回调;false:调用失败
-
respondInviteJoinLiveReq
public boolean respondInviteJoinLiveReq(int seq, int rspResult)
观众响应主播的"连麦邀请"。注意: 1.当主播调用
inviteJoinLive(String, IZegoResponseCallback)
后,观众会通过IZegoLivePlayerCallback.onInviteJoinLiveRequest(int, String, String, String)
收到邀请事件。
2.当观众收到事件通知后,调用该 API 同意或者拒绝主播的连麦邀请。
3.支持单房间,不支持多房间模式(通过 SetRoomMode 接口开启 MultiRoom)。
4.多房间模式请使用respondInviteJoinLiveReq(int,int,String)
指定房间 ID。- Parameters:
seq
- 连麦请求序列号,标识当次连麦请求rspResult
- 0:同意, 其它:拒绝- 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, IZegoEndJoinLiveCallback callback)
主播向连麦观众发送结束连麦信令。注意: 1.支持单房间,不支持多房间模式(通过 SetRoomMode 接口开启 MultiRoom)。
2.多房间模式请使用endJoinLive(String,String,IZegoEndJoinLiveCallback)
指定房间 ID。- Parameters:
userId
- 指定结束连麦的用户 IDcallback
- 实现IZegoEndJoinLiveCallback
的对象实例,用于接收调用结果- Returns:
- true: 调用成功,等待
IZegoEndJoinLiveCallback.onEndJoinLive(int, String)
回调, false: 调用失败
-
endJoinLive
public boolean endJoinLive(java.lang.String userId, java.lang.String roomId, IZegoEndJoinLiveCallback callback)
主播向连麦观众发送结束连麦信令。注意: 1.支持单房间,支持多房间模式(通过 SetRoomMode 接口开启 MultiRoom)。
2.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
userId
- 指定结束连麦的用户 IDroomId
- 房间 IDcallback
- 实现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], 默认 100streamID
- 流ID. ID为空时, 统一设置所有拉流的播放音量- Returns:
- true:调用成功, false:调用失败
-
getSoundLevelOfStream
public float getSoundLevelOfStream(java.lang.String streamID)
获取当前播放视频的音量.- Parameters:
streamID
- 流ID- Returns:
- 音量大小
-
setViewMode
public boolean setViewMode(int mode, java.lang.String streamID)
设置用于拉流的View的播放模式.注意:必须在
startPlayingStream(String, Object)
后调用才有效,本次拉流有效- Parameters:
mode
- 播放模式,详见ZegoVideoViewMode
,默认值为ZegoVideoViewMode.ScaleAspectFit
streamID
- 流ID, 不能为空- Returns:
- true:调用成功, false:调用失败
-
setViewBackgroundColor
public boolean setViewBackgroundColor(int color, java.lang.String streamID)
设置用于拉流的View的背景颜色. 拉流之后有效,本次拉流有效.- Parameters:
color
- 颜色,取值为0x00RRGGBBstreamID
- 流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 关闭. 默认 falsestreamID
- 流ID, 不能为空- Returns:
- true:调用成功, false:调用失败
-
takeSnapshotOfStream
public boolean takeSnapshotOfStream(java.lang.String streamID, IZegoSnapshotCompletionCallback callback)
截取观看直播view图像.- Parameters:
streamID
- 流ID, 不能为空callback
- 回调截图信息- Returns:
- true:调用成功 等待
IZegoSnapshotCompletionCallback.onZegoSnapshotCompletion(Bitmap)
回调, false:调用失败
-
enableSelectedAudioRecord
@Deprecated public boolean enableSelectedAudioRecord(int mask, int sampleRate)
Deprecated.开启音源回调,常用于音频录制。提示:
initSDK(long, byte[], android.content.Context)
后调用。 开启音频录制后, 需调用setZegoAudioRecordCallback(IZegoAudioRecordCallback2)
获取音频数据。注意:在启动推流或者启动本地录制(MediaRecorder)的时候,才能开启音频录制
- Parameters:
mask
- 音源选择,参考ZegoConstants.AudioRecordMask
sampleRate
- 采样率 8000, 16000, 22050, 24000, 32000, 44100, 48000- Returns:
- true:调用成功, false:调用失败
- See Also:
setZegoAudioRecordCallback(IZegoAudioRecordCallback2)
-
enableSelectedAudioRecord
public boolean enableSelectedAudioRecord(ZegoAudioRecordConfig config)
开启音源回调,常用于音频录制。提示:
initSDK(long, byte[], android.content.Context)
后调用。 开启音频录制后,需通过setZegoAudioRecordCallback(IZegoAudioRecordCallback2)
设置音频录制回调代理, 以接收 SDK 传回的音频数据。注意:在启动推流或者启动本地录制(MediaRecorder)的时候,才能开启音频录制
- Parameters:
config
- 音频录制配置信息, 参考ZegoAudioRecordConfig
- Returns:
- true:调用成功, false:调用失败
- See Also:
setZegoAudioRecordCallback(IZegoAudioRecordCallback2)
-
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
- 使用媒体播放器采集源时,所使用的媒体播放器实例 IDchannelIndex
- 推流通道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 设置失败
-
startPublishing
public boolean startPublishing(java.lang.String streamID, java.lang.String title, int flag)
开始推流.注意: 1.当调用成功时,通过
IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调推流状态;
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调
3.支持单房间模式,不支持多房间模式
4.多房间模式请使用startPublishingWithParams(ZegoPublishStreamParams)
指定房间 ID。- Parameters:
streamID
- 流 ID,不能为空,长度不可超过 255 byte,支持可打印字符title
- 视频标题,长度不可超过 255 byteflag
- 推流标记, 详见ZegoConstants.PublishFlag
- Returns:
- true: 调用成功, false: 调用失败
-
startPublishing
public boolean startPublishing(java.lang.String streamID, java.lang.String title, int flag, java.lang.String extraInfo)
开始推流, 可附加流信息.注意: 1.当调用成功时,通过
IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调推流状态;
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
4.多房间模式请使用startPublishingWithParams(ZegoPublishStreamParams)
指定房间 ID。- Parameters:
streamID
- 流 ID,不能为空,长度不可超过 255 byte,支持可打印字符title
- 视频标题,长度不可超过 255 byteflag
- 推流标记, 详见ZegoConstants.PublishFlag
extraInfo
- 附加流信息, 最大为 1024 字节- Returns:
- true: 调用成功, false: 调用失败
-
startPublishing2
public boolean startPublishing2(java.lang.String streamID, java.lang.String title, int flag, int channelIndex)
开始推流, 可附加流信息.注意: 1.当调用成功时,通过
IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调推流状态;
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
4.多房间模式请使用startPublishingWithParams(ZegoPublishStreamParams)
指定房间 ID。- Parameters:
streamID
- 流IDtitle
- 视频标题flag
- 推流标记, 详见ZegoConstants.PublishFlag
channelIndex
- 推流通道index, 参考ZegoConstants.PublishChannelIndex
- Returns:
- true: 调用成功, false: 调用失败
-
startPublishing2
public boolean startPublishing2(java.lang.String streamID, java.lang.String title, int flag, java.lang.String extraInfo, int channelIndex)
开始推流, 可附加流信息.注意: 1.当调用成功时,通过
IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调推流状态;
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
4.多房间模式请使用startPublishingWithParams(ZegoPublishStreamParams)
指定房间 ID。- Parameters:
streamID
- 流IDtitle
- 视频标题flag
- 推流标记, 详见ZegoConstants.PublishFlag
extraInfo
- 附加流信息, 最大为 1024 字节channelIndex
- 推流通道index, 参考ZegoConstants.PublishChannelIndex
- Returns:
- true: 调用成功, false: 调用失败
-
startPublishing2
public boolean startPublishing2(java.lang.String streamID, java.lang.String title, int flag, java.lang.String extraInfo, java.lang.String params, int channelIndex)
开始推流, 可附加流信息.注意: 1.当调用成功时,通过
IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调推流状态;
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
4.多房间模式请使用startPublishingWithParams(ZegoPublishStreamParams)
指定房间 ID。- Parameters:
streamID
- 流IDtitle
- 视频标题flag
- 推流标记, 详见ZegoConstants.PublishFlag
extraInfo
- 附加流信息, 最大为 1024 字节params
- 推流参数channelIndex
- 推流通道index, 参考ZegoConstants.PublishChannelIndex
- Returns:
- true: 调用成功, false: 调用失败
-
startPublishingWithParams
public boolean startPublishingWithParams(ZegoPublishStreamParams params)
开始推流, 可附加流信息.注意: 1.当调用成功时,通过
IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调推流状态;
2.如果有收到IZegoRoomCallback.onDisconnect(int, java.lang.String)
回调,则不会再收到IZegoLivePublisherCallback.onPublishStateUpdate(int, java.lang.String, java.util.HashMap<java.lang.String, java.lang.Object>)
回调
3.支持单房间,支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
4.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
params
- 推流参数- Returns:
- true: 调用成功, false: 调用失败
-
updateStreamExtraInfo
public boolean updateStreamExtraInfo(java.lang.String extraInfo)
更新流的附加信息.- Parameters:
extraInfo
- 流附加信息, 最大为 1024 字节- Returns:
- true: 调用成功,房间内其他人会收到
IZegoRoomCallback.onStreamExtraInfoUpdated(com.zego.zegoliveroom.entity.ZegoStreamInfo[], java.lang.String)
回调, false: 调用失败
-
updateStreamExtraInfo
public boolean updateStreamExtraInfo(java.lang.String extraInfo, int channelIndex)
更新流的附加信息.- Parameters:
extraInfo
- 流附加信息, 最大为 1024 字节channelIndex
- 推流通道index, 参考ZegoConstants.PublishChannelIndex
- Returns:
- true: 调用成功,房间内其他人会收到
IZegoRoomCallback.onStreamExtraInfoUpdated(com.zego.zegoliveroom.entity.ZegoStreamInfo[], java.lang.String)
回调, 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)
主播响应观众的"连麦请求"。注意: 1.当观众调用
requestJoinLive(IZegoResponseCallback)
后,主播会通过IZegoLivePublisherCallback.onJoinLiveRequest(int, String, String, String)
收到请求事件
2.当主播收到事件通知后,调用该 API 同意或者拒绝观众的连麦请求。
3.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
4.多房间模式请使用respondJoinLiveReq(int,int,String)
指定房间 ID。- Parameters:
seq
- 连麦请求序列号,标识当次连麦请求rspResult
- 响应结果,0:同意,其它:拒绝- 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: 调用失败
-
inviteJoinLive
public boolean inviteJoinLive(java.lang.String userID, IZegoResponseCallback callback)
主播邀请观众连麦。注意: 1.主播调用此接口后,观众端会通过
IZegoLivePlayerCallback.onInviteJoinLiveRequest(int, java.lang.String, java.lang.String, java.lang.String)
收到邀请事件。
2.支持单房间,不支持多房间模式(通过setRoomMode(int)
开启 MultiRoom)
3.多房间模式请使用inviteJoinLive(String,String,IZegoResponseCallback)
指定房间 ID。- Parameters:
userID
- 准备邀请的用户 ID,不能为空callback
- 实现IZegoResponseCallback
的对象实例,用于接收观众的响应结果- Returns:
- true: 调用成功 等待
IZegoResponseCallback.onResponse(int, String, String)
,false: 调用失败
-
inviteJoinLive
public boolean inviteJoinLive(java.lang.String userID, java.lang.String roomID, IZegoResponseCallback callback)
主播邀请观众连麦。注意: 1.主播调用此接口后,观众端会通过
IZegoLivePlayerCallback.onInviteJoinLiveRequest(int, java.lang.String, java.lang.String, java.lang.String)
收到邀请事件。
2.支持单房间,支持多房间模式(通过setRoomMode(int)
开启 MultiRoom) 3.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
userID
- 准备邀请的用户 ID,不能为空roomID
- 房间 IDcallback
- 实现IZegoResponseCallback
的对象实例,用于接收观众的响应结果- Returns:
- true: 调用成功 等待
IZegoResponseCallback.onResponse(int, String, String)
,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_0
或Surface.ROTATION_90
或Surface.ROTATION_180
或Surface.ROTATION_270
- Returns:
- true: 调用成功, false: 调用失败
-
setAppOrientation
public boolean setAppOrientation(int orientation, int channelIndex)
设置app朝向.- Parameters:
orientation
- 可取值为:Surface.ROTATION_0
或Surface.ROTATION_90
或Surface.ROTATION_180
或Surface.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.0channelIndex
- 推流通道 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.5channelIndex
- 推流通道 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.2channelIndex
- 推流通道 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
- 颜色,取值为0x00RRGGBBchannelIndex
- 推流通道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)。默认 0channelIndex
- 推流通道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: 调用失败
-
takePreviewSnapshot
public boolean takePreviewSnapshot(IZegoSnapshotCompletionCallback callback)
获取预览截图.- Parameters:
callback
- 回调截图信息- Returns:
- true: 调用成功 等待
IZegoSnapshotCompletionCallback.onZegoSnapshotCompletion(Bitmap)
}回调, false: 调用失败
-
takePreviewSnapshot
public boolean takePreviewSnapshot(IZegoSnapshotCompletionCallback2 callback, int channelIndex)
获取预览截图.- Parameters:
callback
- 回调截图信息channelIndex
- 推流通道index, 参考ZegoConstants.PublishChannelIndex
- Returns:
- true: 调用成功 等待
IZegoSnapshotCompletionCallback2.onZegoSnapshotCompletion(int, Bitmap)
}回调, false: 调用失败
-
getCaptureSoundLevel
public float getCaptureSoundLevel()
获取采集音量大小.- Returns:
- 采集音量大小
-
sendRoomMessage
public boolean sendRoomMessage(int messageType, int messageCategory, java.lang.String content, IZegoRoomMessageCallback callback)
发送房间内广播消息。注意: 1.发送成功后,房间内其他成员会通过
IZegoIMCallback.onRecvRoomMessage(String, ZegoRoomMessage[])
接收此消息
2.支持单房间模式,不支持多房间模式。
3.多房间模式请使用sendRoomMessage(int,int,String,String,IZegoRoomMessageCallback)
指定房间 ID。- Parameters:
messageType
- 消息类型, 详见ZegoIM.MessageType
messageCategory
- 消息分类, 详见ZegoIM.MessageCategory
content
- 消息内容, 小于1024 字节callback
- 实现IZegoRoomMessageCallback
接口的对象实例,用于接收消息发送结果及 server 下发的 messageID- Returns:
- true:调用成功 等待
IZegoRoomMessageCallback.onSendRoomMessage(int, String, long)
返回, false:调用失败
-
sendRoomMessage
public boolean sendRoomMessage(int messageType, int messageCategory, java.lang.String content, java.lang.String roomID, IZegoRoomMessageCallback callback)
发送房间内广播消息。注意: 1.发送成功后,房间内其他成员会通过
IZegoIMCallback.onRecvRoomMessage(String, ZegoRoomMessage[])
接收此消息
2.支持单房间模式,支持多房间模式(通过setRoomMode(int)
)。
3.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
messageType
- 消息类型, 详见ZegoIM.MessageType
messageCategory
- 消息分类, 详见ZegoIM.MessageCategory
content
- 消息内容, 小于1024 字节roomID
- 房间 IDcallback
- 实现IZegoRoomMessageCallback
接口的对象实例,用于接收消息发送结果及 server 下发的 messageID- Returns:
- true:调用成功 等待
IZegoRoomMessageCallback.onSendRoomMessage(int, String, long)
返回, false:调用失败
-
sendBigRoomMessage
public boolean sendBigRoomMessage(int messageType, int messageCategory, java.lang.String content, IZegoBigRoomMessageCallback callback)
发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。注意: 1.发送成功后,房间内其他成员会通过
IZegoIMCallback.onRecvRoomMessage(String, ZegoRoomMessage[])
接收此消息
2.支持单房间模式,不支持多房间模式
3.多房间模式请使用sendBigRoomMessage(int,int,String,String,IZegoBigRoomMessageCallback)
指定房间 ID。- Parameters:
messageType
- 消息类型, 详见ZegoIM.MessageType
messageCategory
- 消息分类, 详见ZegoIM.MessageCategory
content
- 消息内容, 小于 1024 字节callback
- 实现IZegoRoomMessageCallback
接口的对象实例,用于接收消息发送结果及 server 下发的 messageID- Returns:
- true:调用成功 等待
IZegoBigRoomMessageCallback.onSendBigRoomMessage(int, String, String)
返回, false:调用失败
-
sendBigRoomMessage
public boolean sendBigRoomMessage(int messageType, int messageCategory, java.lang.String content, java.lang.String roomID, IZegoBigRoomMessageCallback callback)
发送房间内不可靠信道的广播消息,用于高并发情景下,服务端会根据高并发情况有策略的丢弃一些消息。注意: 1.发送成功后,房间内其他成员会通过
IZegoIMCallback.onRecvRoomMessage(String, ZegoRoomMessage[])
接收此消息
2.支持单房间模式,也支持多房间模式(通过setRoomMode(int)
)。
3.多房间模式下必须指明房间 ID,否则调用失败。- Parameters:
messageType
- 消息类型, 详见ZegoIM.MessageType
messageCategory
- 消息分类, 详见ZegoIM.MessageCategory
content
- 消息内容, 小于 1024 字节roomID
- 房间 IDcallback
- 实现IZegoRoomMessageCallback
接口的对象实例,用于接收消息发送结果及 server 下发的 messageID- Returns:
- true:调用成功 等待
IZegoBigRoomMessageCallback.onSendBigRoomMessage(int, String, String)
返回, false:调用失败
-
setZegoAudioRouteCallback
public void setZegoAudioRouteCallback(IZegoAudioRouteCallback callback)
-
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 请求到的图片 UrichannelIndex
- 推流通道 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 请求到的图片 UrichannelIndex
- 推流通道 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)
设置的值,否则默认为 falsechannelIndex
- 推流通道 index,详细定义见ZegoConstants.PublishChannelIndex
- Returns:
- true 成功,false 失败
-
requireHardwareDecoder
public static boolean requireHardwareDecoder(boolean require)
开启/关闭拉流硬件解码。注意: 1. 必须在调用拉流接口 StartPlayingStream 或 StartPlayingStream2 前设置;
2. 在反初始化 SDK 前,设置的值一直有效;
3. 可通过此 API 设置全局硬解码特性;
4. 若要为指定流通道设置硬解码特性,请使用requireHardwareDecoderByStream(boolean, String)
。- Parameters:
require
- true:开启, false:关闭- Returns:
- true:调用成功; false:调用失败
- See Also:
setSDKContext(SDKContext)
,requireHardwareDecoderByStream(boolean,java.lang.String)
-
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]HzbandGain
- 取值范围[-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)
-
enableAudioPostp
public void enableAudioPostp(boolean enable, java.lang.String streamId)
开启或关闭音频后处理功能,并设置预处理参数,通过setAudioPostpCallback(IZegoAudioPostpCallback, ZegoExtPrepSet)
设置的回调处理音频数据注意: 必须在拉流之后调用,本次拉流有效
- Parameters:
enable
- true:开启, false:关闭streamId
- 流 ID, 当 streamId 为空串时,表明需要混音后的音频数据- See Also:
setAudioPostpCallback(IZegoAudioPostpCallback, ZegoExtPrepSet)
-
setAlignedAudioAuxDataCallback
public void setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback callback)
设置对齐后的混音数据回调enableAlignedAudioAuxData(boolean, ZegoAudioAuxDataConfig)
设置为 true 时才会回调注意:
1. 必须在initSDK(long, byte[])
后,[startPublishingStream]、[startRecord] 前调用
2. 仅在使用 enableAlignedAudioAuxData 开启了抛出对齐后的混音数据特性且 [startPublishingStream] 或 [startRecord] 才会回调
3. 如果想要从此回调中获取媒体播放器的音频混音数据,需要调用 [enableAux] 或媒体播放器类型为 Aux- Parameters:
callback
- 对齐的混音回调实例- See Also:
enableAlignedAudioAuxData(boolean, ZegoAudioAuxDataConfig)
-
enableAlignedAudioAuxData
public void enableAlignedAudioAuxData(boolean enable, ZegoAudioAuxDataConfig config)
开启/关闭抛出对齐后的混音数据特性setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback)
设置对齐后的混音数据回调注意: 需要在初始化 SDK 之后调用
- Parameters:
enable
- true:开启, false:关闭config
- 音频参数配置- See Also:
setAlignedAudioAuxDataCallback(IZegoAudioAuxDataCallback)
-
setAudioBitrate
public boolean setAudioBitrate(int bitrate)
设置主通道音频码率.- Parameters:
bitrate
- 码率,单位 b/s- Returns:
- true:调用成功;false:调用失败
-
setAudioBitrate
public boolean setAudioBitrate(int bitrate, int channelIndex)
设置音频码率.- Parameters:
bitrate
- 码率,单位 b/schannelIndex
- 推流通道,详细定义见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, IZegoCustomCommandCallback callback)
发送自定义消息.注意: 1.发送成功后,指定用户会通过
IZegoRoomCallback.onRecvCustomCommand(String, String, String, String)
接收此消息
2.支持单房间模式,不支持多房间模式。
3.多房间模式请使用sendCustomCommand(ZegoUser[], String, String, IZegoCustomCommandCallback)
指定房间 ID。- Parameters:
listMember
- 接受消息的用户列表。如果不指定接受人,将不会给房间内的人发送消息,即消息发送失败。content
- 消息内容callback
- 消息发送结果- Returns:
- true: 发送成功; false: 发送失败
-
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
- 房间 IDcallback
- 消息发送结果- Returns:
- true: 发送成功; false: 发送失败
-
setPublishConfig
public void setPublishConfig(java.util.Map<java.lang.String,java.lang.Object> config)
设置推流参数.- Parameters:
config
- 配置信息,参考ZegoConstants.PublishConfig.KEY_PUBLISH_CUSTOM_TARGET
和ZegoConstants.PublishConfig.KEY_PUBLISH_CDN_TARGET
-
setPublishConfig
public void setPublishConfig(java.util.Map<java.lang.String,java.lang.Object> config, int channelIndex)
设置推流参数.- Parameters:
config
- 配置信息,参考ZegoConstants.PublishConfig.KEY_PUBLISH_CUSTOM_TARGET
和ZegoConstants.PublishConfig.KEY_PUBLISH_CDN_TARGET
channelIndex
- 推流通道index, 参考ZegoConstants.PublishChannelIndex
-
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
- 推流IDcallback
- 实现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
- 推流IDtimeout
- 超时时间,如果在时间内没有开始转推要回调通知。默认为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
- 推流IDcallback
- 实现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 关闭, 默认关闭
-
enableTrafficControl
public void enableTrafficControl(int properties, boolean enable)
主推流通道流量控制(帧率、分辨率)开关.注意:在推流前调用,在纯 UDP 方案才可以调用此接口, 默认开启流量控制,property为
ZegoConstants.ZegoTrafficControlProperty.ZEGOAPI_TRAFFIC_CONTROL_ADAPTIVE_FPS
- Parameters:
properties
- 流量控制属性 (帧率,分辨率),参见ZegoConstants.ZegoTrafficControlProperty
enable
- true: 开启,false: 关闭
-
enableTrafficControl
public void enableTrafficControl(int properties, boolean enable, int channelIndex)
流量控制(帧率、分辨率)开关.注意:在推流前调用,在纯 UDP 方案才可以调用此接口, 默认开启流量控制,property为
ZegoConstants.ZegoTrafficControlProperty.ZEGOAPI_TRAFFIC_CONTROL_ADAPTIVE_FPS
- Parameters:
properties
- 流量控制属性 (帧率,分辨率),参见ZegoConstants.ZegoTrafficControlProperty
enable
- true: 开启,false: 关闭
-
setMinVideoBitrateForTrafficControl
public void setMinVideoBitrateForTrafficControl(int bitrate, int mode)
设置主推流通道流量控制的视频码率最小值注意:InitSDK 之后调用有效
设置一个在traffic control中video码率的一个最小值,当网络不足以发送这个最小值的时候视频会被卡住,而不是以低于该码率继续发送。初始化SDK后默认情况下没有设置该值,即尽可能的保持视频流畅,InitSDK之后可以随时修改,未重新InitSDK之前如果需要取消该设置值的限制可以设置为0
- Parameters:
bitrate
- 码率,单位为bpsmode
- 模式,参见ZegoConstants.ZegoTrafficControlMinVideoBitrateMode
-
setMinVideoBitrateForTrafficControl
public void setMinVideoBitrateForTrafficControl(int bitrate, int mode, int channelIndex)
设置流量控制的视频码率最小值注意:InitSDK 之后调用有效
设置一个在traffic control中video码率的一个最小值,当网络不足以发送这个最小值的时候视频会被卡住,而不是以低于该码率继续发送。初始化SDK后默认情况下没有设置该值,即尽可能的保持视频流畅,InitSDK之后可以随时修改,未重新InitSDK之前如果需要取消该设置值的限制可以设置为0
- Parameters:
bitrate
- 码率,单位为bpsmode
- 模式,参见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 (seeFormatter.format(java.lang.String, java.lang.Object...)
)args
- the list of arguments passed to the formatter. If there are more arguments than required byformat
, 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(单声道)
-
setAudioChannelCountByChannel
public void setAudioChannelCountByChannel(int count, int channelIndex)
设置指定推流通道的推流音频声道数.注意:
1. 必须在初始化 SDK 后,推流前设置.
2. setLatencyMode设置为ZegoConstants.LatencyMode.Normal
,ZegoConstants.LatencyMode.Normal2
,ZegoConstants.LatencyMode.Low3
才能设置双声道
3. 在移动端双声道通常需要配合音频前处理才能体现效果.- Parameters:
count
- 声道数,1 或 2,默认为 1(单声道)channelIndex
- 推流通道 index, 参考ZegoConstants.PublishChannelIndex
-
activateAudioPlayStream
public int activateAudioPlayStream(java.lang.String streamId, boolean active)
拉流是否接收音频数据。注意:可以在拉流之前或之后设置, 每次拉流都需要重新设置
- Parameters:
streamId
- 播放流 IDactive
- 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
- 播放流 IDactive
- true 接收,false 不接收- Returns:
- 0 成功,否则失败
-
activateVideoPlayStream
public int activateVideoPlayStream(java.lang.String streamId, boolean active, int videoLayer)
拉流是否接收视频数据。注意:可以在拉流之前或之后设置, 每次拉流都需要重新设置
- Parameters:
streamId
- 播放流 IDactive
- 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 代表设置成功成功,否则设置失败
-
muteVideoPublish
public int muteVideoPublish(boolean mute, int channelIndex)
推流时是否发送视频数据。注意:
1. 拉流端通过IZegoLivePlayerCallback2.onRemoteCameraStatusUpdate(java.lang.String, int, int)
回调监听此状态是否改变;
2. 仅拉 UDP 流时,才能接收到状态变更通知;- Parameters:
mute
- true 不发送(仅预览),false 发送channelIndex
- 推流通道 index, 参考ZegoConstants.PublishChannelIndex
- Returns:
- 0 代表设置成功成功,否则设置失败
-
muteAudioPublish
public int muteAudioPublish(boolean mute)
推流时是否发送音频数据。注意:
可以通过IZegoAudioRecordCallback2.onAudioRecordCallback(byte[], int, int, int, int)
回调获取本地音频数据- Parameters:
mute
- true 不发送,false 发送- Returns:
- 0 代表设置成功成功,否则设置失败
-
muteAudioPublish
public int muteAudioPublish(boolean mute, int channelIndex)
推流时是否发送音频数据。注意:
可以通过IZegoAudioRecordCallback2.onAudioRecordCallback(byte[], int, int, int, int)
回调获取本地音频数据- Parameters:
mute
- true 不发送,false 发送channelIndex
- 推流通道 index, 参考ZegoConstants.PublishChannelIndex
- 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
- 播放流 IDtoken
- 设置的 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)
-
onAudioPrep
public ZegoAudioFrame onAudioPrep(ZegoAudioFrame inFrame)
-
onAudioProc
public ZegoAudioFrame onAudioProc(ZegoAudioFrame inFrame)
-
onAudioPostp
public ZegoAudioFrame onAudioPostp(ZegoAudioFrame inFrame, java.lang.String streamId)
-
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)
-
-