ZegoLiveRoom
Classes | Typedefs | Enumerations | Functions | Variables
ZEGO::LIVEROOM Namespace Reference

Classes

class  IAVEngineCallback
 
class  IIMCallback
 
class  ILivePlayerCallback
 
class  ILivePublisherCallback
 
class  IRoomCallback
 
class  IRoomExtraInfoCallback
 
struct  ZegoPlayQuality
 
struct  ZegoPlayStreamParams
 
struct  ZegoPublishQuality
 
struct  ZegoPublishStreamParams
 
struct  ZegoReceiveRangeParam
 
struct  ZegoVocalRangeParam
 

Typedefs

typedef void(* ExperimentalAPICallback) (const char *params)
 

Enumerations

enum  ZegoVideoViewMode { ZegoVideoViewModeScaleAspectFit = 0 , ZegoVideoViewModeScaleAspectFill = 1 , ZegoVideoViewModeScaleToFill = 2 }
 
enum  ZegoMixSysPlayoutPropertyMask { MIX_PROP_NONE = 0 , MIX_PROP_ENABLE_AGC_FOR_SYS_PLAYOUT = 1 }
 
enum  ZegoRoomMode { ZegoRoomModeSingleRoom = 0 , ZegoRoomModeMultiRoom = 1 }
 
enum  ZegoRangeAudioMode { ZegoRangeAudioModeWorld = 1 , ZegoRangeAudioModeTeam = 2 , ZegoRangeAudioModeSecreteTeam = 3 }
 
enum  ZegoRangeAudioMicrophoneState { Opening = 1 , Success = 2 , TempBroken = 3 , Failed = 4 }
 
enum  ZegoRangeAudioSpeakMode { SpeakToAll = 0 , SpeakToWorld = 1 , SpeakToTeam = 2 }
 
enum  ZegoRangeAudioListenMode { ListenFromAll = 0 , ListenFromWorld = 1 , ListenFromTeam = 2 }
 

Functions

ZEGO_API bool SetIMCallback (IIMCallback *pCB)
 
ZEGO_API int SendRoomMessageEx (ROOM::ZegoMessageType type, ROOM::ZegoMessageCategory category, const char *messageContent, const char *roomID=nullptr)
 
ZEGO_API bool GetRoomMessage (ROOM::ZegoMessagePriority priority, bool ascendOrder, unsigned long long messageId, int messageCount, const char *roomID=nullptr)
 
ZEGO_API int SendBigRoomMessage (ROOM::ZegoMessageType type, ROOM::ZegoMessageCategory category, const char *messageContent, const char *roomID=nullptr)
 
ZEGO_API int SendTransparentMessage (ROOM::ZegoSendTransparentMessage *message, const char *roomID=nullptr)
 
ZEGO_API int GetMaxPlayChannelCount ()
 
ZEGO_API bool SetLivePlayerCallback (ILivePlayerCallback *pCB)
 
ZEGO_API void UpdatePlayDecryptKey (const char *pszStreamID, const unsigned char *pKey, int nkeyLen)
 
ZEGO_API bool StartPlayingStream (const char *pszStreamID, void *pView, const char *pszParams=0)
 
ZEGO_API bool StartPlayingStream2 (const char *pszStreamID, void *pView, ZegoStreamExtraPlayInfo *info=nullptr)
 
ZEGO_API bool StartPlayingStream2 (const char *pszStreamID, const AV::ZegoView &pView, ZegoStreamExtraPlayInfo *info=nullptr)
 
ZEGO_API bool StartPlayingStreamWithParams (const ZegoPlayStreamParams *playParams)
 
ZEGO_API bool UpdatePlayView (void *pView, const char *pszStreamID)
 
ZEGO_API bool UpdatePlayView (const AV::ZegoView &view, const char *streamID)
 
ZEGO_API bool StopPlayingStream (const char *pszStreamID)
 
ZEGO_API int RequestJoinLive (const char *pszRoomID=nullptr)
 
ZEGO_API bool RespondInviteJoinLiveReq (int seq, int rspResult, const char *pszRoomID=nullptr)
 
ZEGO_API bool RequireHardwareDecoder (bool enable, const char *pszStreamID=nullptr)
 
ZEGO_API int GetAudioRouteType ()
 
ZEGO_API bool EnableSpeaker (bool bEnable)
 
ZEGO_API bool SetBuiltInSpeakerOn (bool bOn)
 
ZEGO_API bool SetPlayVolume (int volume, const char *pszStreamID=0)
 
ZEGO_API float GetSoundLevel (const char *pszStreamID)
 
ZEGO_API bool SetViewMode (ZegoVideoViewMode mode, const char *pszStreamID)
 
ZEGO_API bool SetViewBackgroundColor (int color, const char *pszStreamID)
 
ZEGO_API bool TakeSnapshot (const char *pszStreamID)
 
ZEGO_API int ActivateAudioPlayStream (const char *pszStreamID, bool bActive)
 
ZEGO_API int ActivateAllAudioPlayStream (bool bActive)
 
ZEGO_API int ActivateVideoPlayStream (const char *pszStreamID, bool bActive, AV::VideoStreamLayer videoLayer=AV::VideoStreamLayer_Auto)
 
ZEGO_API int ActivateAllVideoPlayStream (bool bActive)
 
ZEGO_API bool SetViewRotation (int nRotation, const char *pszStreamID)
 
ZEGO_API bool EnableViewMirror (bool bEnable, const char *pszStreamID)
 
ZEGO_API bool SetPlayQualityMonitorCycle (unsigned int timeInMS)
 
ZEGO_API void SetAudioPostpCallback (AVE::OnPostpCallback callback, const AVE::ExtPostpSet &config)
 
ZEGO_API void EnableAudioPostp (bool enable, const char *streamID)
 
ZEGO_API bool EnableSelectedAudioRecord (unsigned int uMask, int nSampleRate=44100, int nChannels=1)
 
ZEGO_API bool SetAudioRecordCallback (AV::IZegoAudioRecordCallback *pCB)
 
ZEGO_API bool SetPlayStreamFocus (const char *streamID)
 
ZEGO_API bool SetRecvBufferLevelLimit (int minBufferLevel, int maxBufferLevel, const char *streamID)
 
ZEGO_API bool SetAudioMixMode (AV::ZegoAudioMixMode mixMode, const char **pszStreamIDList, int num)
 
ZEGO_API bool EnablePlayVirtualStereo (bool enable, int angle, const char *streamID)
 
ZEGO_API ROOM::ZegoUser GetUserByStreamID (const char *pszStreamID)
 
ZEGO_API bool IsVideoDecoderSupported (AV::ZegoVideoCodecAvc codecID)
 
ZEGO_API int IsVideoDecoderSupported (AV::ZegoVideoCodecAvc codecID, AV::ZegoVideoCodecBackend codecBackend)
 
ZEGO_API int SetPlayStreamsAlignmentProperty (int alignment)
 
ZEGO_API bool UpdatePlayToken (const char *pszStreamID, const unsigned char *token, int tokenlen)
 
ZEGO_API int GetMaxPublishChannelCount ()
 
ZEGO_API bool SetLivePublisherCallback (ILivePublisherCallback *pCB)
 
ZEGO_API bool SetPreviewView (void *pView, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetPreviewView (const AV::ZegoView &view, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool StartPreview (AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool StopPreview (AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetPublishStreamExtraInfo (const char *pszStreamExtraInfo, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetCustomPublishTarget (const char *pszCustomPublishTarget, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API int AddPublishTarget (const char *strTarget, const char *pszStreamID, int timeout=0)
 
ZEGO_API int DeletePublishTarget (const char *strTarget, const char *pszStreamID)
 
ZEGO_API void SetCDNPublishTarget (const char *pszCDNPublishTarget, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetCustomCDNPublishTarget (const AV::ZegoCDNPublishTarget target, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetPublishEncryptKey (const unsigned char *pKey, int nkeyLen, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoSource (AV::ZegoVideoSourceType srcType, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_AUX)
 
ZEGO_API bool SetVideoSource (AV::ZegoVideoSourceType srcType, unsigned int instanceID, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_AUX)
 
ZEGO_API bool SetAudioSource (AV::ZegoAudioSourceType srcType, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_AUX)
 
ZEGO_API bool StartPublishing (const char *pszTitle, const char *pszStreamID, int flag, const char *pszParams=0)
 
ZEGO_API bool StartPublishing2 (const char *pszTitle, const char *pszStreamID, int flag, const char *pszParams=0, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool StartPublishingWithParams (const ZegoPublishStreamParams *streamParams)
 
ZEGO_API int MuteVideoPublish (bool mute, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API int MuteAudioPublish (bool mute, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool StopPublishing (int flag=0, const char *pszMsg=0, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool RespondJoinLiveReq (int seq, int rspResult, const char *pszRoomID=nullptr)
 
ZEGO_API int InviteJoinLive (const char *pszUserID, const char *pszRoomID=nullptr)
 
ZEGO_API int EndJoinLive (const char *pszUserID, const char *pszRoomID=nullptr)
 
ZEGO_API bool RequireHardwareEncoder (bool bRequired)
 
ZEGO_API bool RequireHardwareEncoderByChannel (bool enable, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoBitrate (int nBitrate, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoFPS (int nFps, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoEncodeResolution (int nWidth, int nHeight, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoCaptureResolution (int nWidth, int nHeight, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoKeyFrameInterval (int nIntervalSecond, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool EnableBeautifying (int nFeature, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetPolishStep (float step, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetPolishFactor (float factor, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetWhitenFactor (float factor, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetSharpenFactor (float factor, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetFilter (int nIndex, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetLowlightEnhancement (AV::ZegoLowlightEnhanceMode mode, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 设置低照度增强 More...
 
ZEGO_API bool SetPreviewViewMode (ZegoVideoViewMode mode, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool EnablePreviewMirror (bool bEnabasle, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoMirrorMode (AV::ZegoVideoMirrorMode mode, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetPreviewViewBackgroundColor (int color, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetPreviewRotation (int nRotation, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetCaptureFrameRotation (int nRotation, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool EnableMic (bool bEnable)
 
ZEGO_API bool SetAudioBitrate (int bitrate, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetAudioDeviceMode (AV::ZegoAVAPIAudioDeviceMode mode)
 
ZEGO_API bool EnableAGC (bool bEnable)
 
ZEGO_API void ResetAGC ()
 
ZEGO_API bool EnableAEC (bool bEnable)
 
ZEGO_API void SetAECMode (AV::ZegoAECMode mode)
 
ZEGO_API void ResetAEC ()
 
ZEGO_API bool EnableCamera (bool bEnable, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool TakeSnapshotPreview (AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool EnableLoopback (bool bEnable)
 
ZEGO_API void SetLoopbackVolume (int volume)
 
ZEGO_API void SetCaptureVolume (int volume)
 
ZEGO_API float GetCaptureSoundLevel ()
 
ZEGO_API void SetDummyCaptureImagePath (const char *filePath, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetWaterMarkImagePath (const char *filePath, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetPublishWaterMarkRect (int left, int top, int right, int bottom, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetPreviewWaterMarkRect (int left, int top, int right, int bottom, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetVideoCodecId (AV::ZegoVideoCodecAvc codecId, AV::PublishChannelIndex nChannel=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetAudioPrepCallback (AVE::OnPrepCallback callback, const AVE::ExtPrepSet &config)
 
ZEGO_API void SetAudioPrepAfterLoopbackCallback (AVE::OnAudioProcCallback callback, const AVE::ExtPrepSet &config)
 
ZEGO_API void SetAlignedAudioAuxDataCallback (AVE::OnAlignedAudioAuxCallback callback, void *callbackContext)
 
ZEGO_API void EnableAlignedAudioAuxData (bool enable, int sampleRate, int channels)
 
ZEGO_API void SetVideoEncoderRateControlConfig (AV::ZegoVideoEncoderRateControlStrategy strategy, int encoderCRF, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void EnableCheckPoc (bool bEnable)
 
ZEGO_API void SetCapturePipelineScaleMode (AV::ZegoCapturePipelineScaleMode mode)
 
ZEGO_API void SetLatencyMode (AV::ZegoAVAPILatencyMode mode)
 
ZEGO_API void SetLatencyModeByChannel (AV::ZegoAVAPILatencyMode mode, AV::PublishChannelIndex idx)
 
ZEGO_API void SetAudioChannelCount (int count)
 
ZEGO_API void SetAudioChannelCountByChannel (int count, AV::PublishChannelIndex idx)
 
ZEGO_API void EnableDTX (bool bEnable)
 
ZEGO_API void EnableVAD (bool bEnable)
 
ZEGO_API void EnableTrafficControl (int properties, bool bEnable, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetMinVideoBitrateForTrafficControl (int nBitrate, AV::ZegoTrafficControlMinVideoBitrateMode mode=AV::ZEGO_TRAFFIC_CONTROL_MIN_VIDEO_BITRATE_NO_VIDEO, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGOAVKIT_API void SetMinVideoFpsForTrafficControl (int nFps, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGOAVKIT_API void SetMinVideoResolutionForTrafficControl (int nWidth, int nHeight, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetTrafficControlFocusOn (enum AV::ZegoTrafficControlFocusOn focusOn, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool EnableNoiseSuppress (bool bEnable)
 
ZEGO_API bool SetNoiseSuppressMode (AV::ZegoANSMode mode)
 
ZEGO_API bool EnableTransientNoiseSuppress (bool bEnable)
 
ZEGO_API void ResetNoiseSuppress ()
 
ZEGO_API bool SetPublishQualityMonitorCycle (unsigned int timeInMS)
 
ZEGO_API bool SetAudioEqualizerGain (int bandIndex, float bandGain)
 
ZEGO_API void EnableScreenCaptureEncodeOptimization (bool enable, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetChannelExtraParam (const char *param_config, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void * GetChannelExtraParam (AV::ChannelExtraParamKey key, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API AV::ZegoCodecCapabilityInfoGetVideoCodecCapabilityList (int &len)
 
ZEGO_API void FreeVideoCodecCapabilityList (AV::ZegoCodecCapabilityInfo *parrCodecCapability)
 
ZEGO_API void SetAudioCaptureShiftOnMix (int shiftMS)
 
ZEGO_API int EnablePublishStreamAlignment (bool enable)
 
ZEGO_API bool EnableH265EncodeFallback (bool enable)
 
ZEGO_API bool IsVideoEncoderSupported (AV::ZegoVideoCodecAvc codecID)
 
ZEGO_API int IsVideoEncoderSupported (AV::ZegoVideoCodecAvc codecID, AV::ZegoVideoCodecBackend codecBackend)
 
ZEGO_API int SetStreamAlignmentProperty (int alignment, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetVideoEncodeMode (AV::ZegoVideoEncodeMode mode, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetAudioVADStableStateCallback (AV::IZegoCheckAudioVADCallback *callback)
 
ZEGO_API void EnableCapturedAudioVADStableStateMonitor (bool enable, int period=3000)
 
ZEGO_API void EnableAudioPrepVADStableStateMonitor (bool enable, int period=3000)
 
ZEGO_API void EnableVideoObjectSegmentation (bool enable, AV::ZegoObjectSegmentationType type, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void EnableVideoObjectSegmentation (bool enable, const AV::ZegoObjectSegmentationConfig &config, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void EnableAlphaChannelVideoEncoder (bool enable, AV::ZegoAlphaLayoutType layoutType, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetPublishDualStreamConfig (const AV::ZegoPublishDualStreamConfig *configList, int configListCount, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void EnableColorEnhancement (bool enable, AV::ZegoColorEnhancementParams params, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 开启色彩增强 More...
 
ZEGO_API void SetBeforeAudioPrepCallback (AV::IZegoBeforeAudioPrepCallback *callback)
 设置音频前处理前的音频数据回调。 More...
 
ZEGO_API void EnableBeforeAudioPrepCallback (bool enable, int sampleRate, int channel)
 开启或关闭音频前处理前的音频数据回调。 More...
 
ZEGO_API bool SetRoomExtraInfoCallback (IRoomExtraInfoCallback *pCB)
 
ZEGO_API int SetRoomExtraInfo (const char *pszKey, const char *pszValue, const char *pszRoomID=nullptr)
 
ZEGO_API const char * GetSDKVersion ()
 
ZEGO_API const char * GetSDKVersion2 ()
 
ZEGO_API void SetLogHook (void(*log_hook)(const char *message))
 
ZEGO_API bool SetLogDirAndSize (const char *pszLogDir, unsigned long long lLogFileSize=ZEGO_DEFAULT_LOG_SIZE, const char *pszSubFolder=nullptr, unsigned int log_file_count=3)
 
ZEGO_API bool SetDataCacheDir (const char *cache_dir)
 
ZEGO_API void UploadLog ()
 
ZEGO_API void SetLocalProxyConfig (const AV::ZegoProxyInfo *proxy, int proxyCount, bool enable)
 
ZEGO_API void SetCloudProxyConfig (const AV::ZegoProxyInfo *proxy, int proxyCount, bool enable, const char *token=nullptr)
 
ZEGO_API void SetLicense (const char *license)
 
ZEGO_API bool SetGeoFence (enum AV::ZegoGeoFenceType type, const int *area_code_list, int area_code_list_count)
 
ZEGO_API void SetVerbose (bool bVerbose)
 
ZEGO_API void SetUseTestEnv (bool bTestEnv)
 
ZEGO_API bool SetBusinessType (int nType)
 
ZEGO_API bool SetThirdPartyFrameworkInfo (const char *framework_info)
 
ZEGO_API bool SetUser (const char *pszUserID, const char *pszUserName)
 
ZEGO_API const char * GetUserID ()
 
ZEGO_API void SetRunLoopObserveCallback (void(*OnRunLoopObserveCallback)(unsigned int taskId, AV::ZegoTaskType type, int taskDispatchTime, int taskRunTime, int taskTotalTime))
 
ZEGO_API bool InitPlatform (void *jvm=0, void *ctx=0, void *clsLoader=0)
 
ZEGO_API bool InitSDK (unsigned int uiAppID, unsigned char *pBufAppSignature, int nSignatureSize)
 
ZEGO_API bool UnInitSDK ()
 
ZEGO_API bool SetRoomMode (ZegoRoomMode mode)
 
ZEGO_API bool SetRoomCallback (IRoomCallback *pCB)
 
ZEGO_API bool SetRoomConfig (bool audienceCreateRoom, bool userStateUpdate, const char *pszRoomID=nullptr)
 
ZEGO_API bool SetCustomToken (const char *thirdPartyToken)
 
ZEGO_API bool SetToken (const char *pszToken, const char *pszRoomID)
 
ZEGO_API bool SetRoomMaxUserCount (unsigned int maxCount, const char *pszRoomID=nullptr)
 
ZEGO_API bool LoginRoom (const char *pszRoomID, int role, const char *pszRoomName="")
 
ZEGO_API bool LogoutRoom (const char *pszRoomID=nullptr)
 
ZEGO_API bool SwitchRoom (const char *pszRoomID, int role, const char *pszRoomName="")
 
ZEGO_API bool SwitchRoom (const char *fromRoomID, const char *toRoomID, int role, const char *toRoomName="")
 
ZEGO_API int SendCustomCommand (ROOM::ZegoUser *memberList, unsigned int memberCount, const char *content, const char *roomID=nullptr)
 
ZEGO_API bool GetRoomStreamList (ROOM::ZegoRoomStreamList **streamList, ROOM::ZegoRoomStreamListType streamListType, const char *roomID=nullptr)
 
ZEGO_API void FreeRoomStreamList (ROOM::ZegoRoomStreamList *streamList)
 
ZEGO_API void SetLiveEventCallback (AV::IZegoLiveEventCallback *pCB)
 
ZEGO_API void SetDeviceStateCallback (AV::IZegoDeviceStateCallback *pCB)
 
ZEGO_API void SetNetTypeCallback (AV::IZegoNetTypeCallback *pCB)
 
ZEGO_API AV::DeviceInfoGetAudioDeviceList (AV::AudioDeviceType deviceType, int &device_count)
 
ZEGO_API bool SetAudioDevice (AV::AudioDeviceType deviceType, const char *pszDeviceID)
 
ZEGO_API AV::DeviceVideoCapabilityInfoGetVideoDevCapabilityList (const char *pszVideoDeviceID, int &nVideoCapabilityInfoCount)
 
ZEGO_API void FreeVideoDevCapabilityList (AV::DeviceVideoCapabilityInfo *parrVideoCapability)
 
ZEGO_API AV::DeviceInfoGetVideoDeviceList (int &device_count)
 
ZEGO_API void FreeDeviceList (AV::DeviceInfo *parrDeviceList)
 
ZEGO_API bool SetVideoDevice (const char *pszDeviceID, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API bool SetAVEngineCallback (IAVEngineCallback *pCB)
 
ZEGO_API void SetConfig (const char *config)
 
ZEGO_API bool EnableMicDevice (bool enable)
 
ZEGO_API void SetExperimentalAPICallback (ExperimentalAPICallback callback)
 
ZEGO_API unsigned int CallExperimentalAPI (const char *params)
 
ZEGO_API int SendRealtimeSequentialData (unsigned char *userData, int dataLen, AV::PublishChannelIndex idx=AV::PUBLISH_CHN_MAIN)
 
ZEGO_API void SetRealtimeSequentialDataCallback (AV::IZegoRealtimeSequentialDataCallback *callback)
 
ZEGO_API void SetDumpDataCallback (AV::IZegoDumpDataCallback *callback)
 
ZEGO_API void StartDumpData (AV::ZegoDumpDataConfig config)
 
ZEGO_API void StopDumpData ()
 
ZEGO_API void UploadDumpData ()
 
ZEGO_API void RemoveDumpData ()
 

Variables

ZEGO_API const char * kZegoVideoDataMainPublishingStream
 
ZEGO_API const char * kZegoVideoDataAuxPublishingStream
 
const int kInvalidSeq = -1
 

Typedef Documentation

◆ ExperimentalAPICallback

typedef void(* ZEGO::LIVEROOM::ExperimentalAPICallback) (const char *params)

试验性API回调函数定义

Parameters
params参数,json格式,详情请咨询ZEGO技术支持。

Enumeration Type Documentation

◆ ZegoMixSysPlayoutPropertyMask

Enumerator
MIX_PROP_NONE 
MIX_PROP_ENABLE_AGC_FOR_SYS_PLAYOUT 

◆ ZegoRangeAudioListenMode

范围语音的收听模式

Enumerator
ListenFromAll 
ListenFromWorld 
ListenFromTeam 

◆ ZegoRangeAudioMicrophoneState

范围语音麦克风状态

Enumerator
Opening 
Success 
TempBroken 
Failed 

◆ ZegoRangeAudioMode

范围语音模式

Enumerator
ZegoRangeAudioModeWorld 
ZegoRangeAudioModeTeam 
ZegoRangeAudioModeSecreteTeam 

◆ ZegoRangeAudioSpeakMode

范围语音的发声模式

Enumerator
SpeakToAll 
SpeakToWorld 
SpeakToTeam 

◆ ZegoRoomMode

房间模式

Enumerator
ZegoRoomModeSingleRoom 
ZegoRoomModeMultiRoom 

◆ ZegoVideoViewMode

本地预览视频视图的模式

Enumerator
ZegoVideoViewModeScaleAspectFit 

等比缩放,可能有黑边,SDK 默认值

ZegoVideoViewModeScaleAspectFill 

等比缩放填充整View,可能有部分被裁减

ZegoVideoViewModeScaleToFill 

填充整个View

Function Documentation

◆ ActivateAllAudioPlayStream()

ZEGO_API int ZEGO::LIVEROOM::ActivateAllAudioPlayStream ( bool  bActive)

拉流是否接收音频数据

Attention
  1. 可以在InitSDK之后设置,支持拉流时设置
  2. 本地用户会取消或恢复接收所有远端用户的音频流,包括在调用该方法后新加入房间的用户的音频流
  3. 必需此接口和ActivateAudioPlayStream接口均未禁止音频数据,才会接收音频数据
  4. 此接口不影响ActivateAudioPlayStream接口的生命周期
Parameters
bActivetrue 接收,false 不接收
Returns
0 成功,否则失败

◆ ActivateAllVideoPlayStream()

ZEGO_API int ZEGO::LIVEROOM::ActivateAllVideoPlayStream ( bool  bActive)

拉流是否接收视频数据

Attention
  1. 可以在InitSDK之后设置,支持拉流时设置
  2. 本地用户会取消或恢复接收所有远端用户的视频流,包括在调用该方法后新加入房间的用户的视频流
  3. 必需此接口和ActivateVideoPlayStream接口均未禁止视频数据,才会接收视频数据
  4. 此接口不影响ActivateVideoPlayStream接口的生命周期
Parameters
bActivetrue 接收,false 不接收
Returns
0 成功,否则失败

◆ ActivateAudioPlayStream()

ZEGO_API int ZEGO::LIVEROOM::ActivateAudioPlayStream ( const char *  pszStreamID,
bool  bActive 
)

拉流是否接收音频数据

Attention
  1. 可以在拉流 StartPlayingStream 或 StartPlayingStream2 之前或之后设置, 每次拉流都需要重新设置
Parameters
pszStreamID播放流 ID
bActivetrue 接收,false 不接收
Returns
0 成功,否则失败

◆ ActivateVideoPlayStream()

ZEGO_API int ZEGO::LIVEROOM::ActivateVideoPlayStream ( const char *  pszStreamID,
bool  bActive,
AV::VideoStreamLayer  videoLayer = AV::VideoStreamLayer_Auto 
)

拉流是否接收视频数据

Attention
  1. 可以在拉流 StartPlayingStream 或 StartPlayingStream2 之前或之后设置, 每次拉流都需要重新设置
Note
  1. 当推流方开启了分层编码后,拉流方可以通过该 API 在适当时机选择拉取大分辨率图层或小分辨率图层。
Parameters
pszStreamID播放流 ID
bActivetrue 接收,false 不接收
videoLayer视频分层类型,请参考 AV::VideoStreamLayer
Returns
0 成功,否则失败

◆ AddPublishTarget()

ZEGO_API int ZEGO::LIVEROOM::AddPublishTarget ( const char *  strTarget,
const char *  pszStreamID,
int  timeout = 0 
)

添加转推地址

Parameters
strTarget转推地址(支持rtmp/avertp)
pszStreamID推流ID
timeout超时时间,如果在时间内没有开始转推要回调通知。默认为0,表示不超时,有效范围[5,600],单位秒。小于0会被重置为0,1到4会被重置为5,大于600会被重置为600。
Attention
在InitSDK之后调用

◆ CallExperimentalAPI()

ZEGO_API unsigned int ZEGO::LIVEROOM::CallExperimentalAPI ( const char *  params)

试验性API

Parameters
params参数,json格式,详情请咨询ZEGO技术支持。
Returns
错误码,0成功 否则返回失败错误码。

◆ DeletePublishTarget()

ZEGO_API int ZEGO::LIVEROOM::DeletePublishTarget ( const char *  strTarget,
const char *  pszStreamID 
)

删除转推地址

Parameters
strTarget转推地址(支持rtmp/avertp)
pszStreamID推流ID
Attention
在InitSDK之后调用

◆ EnableAEC()

ZEGO_API bool ZEGO::LIVEROOM::EnableAEC ( bool  bEnable)

开关回声消除

未调用此函数前,SDK 内部会自动判断是否需要使用 AEC,一旦调用了此函数则不再自动判断 若需要恢复为 SDK 自动判断,请调用 [ResetAEC]

Parameters
bEnabletrue 打开,false 关闭

◆ EnableAGC()

ZEGO_API bool ZEGO::LIVEROOM::EnableAGC ( bool  bEnable)

音频采集自动增益开关。

未调用此函数前,SDK 内部会自动判断是否需要使用 AGC,一旦调用了此函数则不再自动判断 若需要恢复为 SDK 自动判断,请调用 [ResetAGC]

Parameters
bEnable是否开启 true 开启,false 关闭
Returns
true 成功,false 失败

◆ EnableAlignedAudioAuxData()

ZEGO_API void ZEGO::LIVEROOM::EnableAlignedAudioAuxData ( bool  enable,
int  sampleRate,
int  channels 
)

开启/关闭抛出对齐后的混音数据特性

Parameters
enabletrue: 开启抛出对齐后的混音数据特性;false: 关闭抛出对齐后的混音数据特性
sampleRate采样率,仅支持 8000、16000、32000、44100、48000
channels声道数,仅支持单声道(1)、双声道(2)
Attention
需要在初始化 SDK 之后调用
当开启对齐后的混音数据回调时,Aux 音频数据通过 SetAlignedAudioAuxDataCallback 设置的回调函数返回
当开启对齐后的混音数据回调时,推流时不会有 Aux 类型 PCM 数据

◆ EnableAlphaChannelVideoEncoder()

ZEGO_API void ZEGO::LIVEROOM::EnableAlphaChannelVideoEncoder ( bool  enable,
AV::ZegoAlphaLayoutType  layoutType,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

开启视频编码器透明通道支持。

Parameters
enable是否开启视频编码器透明通道支持,默认关闭。
layoutType透明通道数据布局方式。
idx推流通道,默认为 AV::PUBLISH_CHN_MAIN。
Note
调用时机:在推流前调用本接口。
Attention
不支持 Linux 平台。

◆ EnableAudioPostp()

ZEGO_API void ZEGO::LIVEROOM::EnableAudioPostp ( bool  enable,
const char *  streamID 
)

开启/关闭音频后处理特性

Parameters
enabletrue: 开启拉流音频后处理特性;false: 关闭拉流音频后处理特性
streamID流 ID, 当 streamID 为空串时,表明需要混音后的音频数据
Attention
streamID不为空串时,必须在拉流后调用,本次拉流有效
当拉流音频后处理特性开启时,待渲染音频数据通过 SetAudioPostpCallback 设置的回调函数指针返回

◆ EnableAudioPrepVADStableStateMonitor()

ZEGO_API void ZEGO::LIVEROOM::EnableAudioPrepVADStableStateMonitor ( bool  enable,
int  period = 3000 
)

开启音频外部预处理后的音频数据的语音状态检测

Parameters
enable是否开启
period检测周期,单位毫秒,默认值 3000,有效值 [200, 10000]
Note
推流前后设置都有效。预览或者推流后开始回调

◆ EnableBeautifying()

ZEGO_API bool ZEGO::LIVEROOM::EnableBeautifying ( int  nFeature,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

主播开启美颜功能

Parameters
nFeature美颜特性。默认无美颜
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置

◆ EnableBeforeAudioPrepCallback()

ZEGO_API void ZEGO::LIVEROOM::EnableBeforeAudioPrepCallback ( bool  enable,
int  sampleRate,
int  channel 
)

开启或关闭音频前处理前的音频数据回调。

Parameters
enabletrue-开启,false-关闭,默认 false。
sampleRate音频采样率,取值范围:{0, 16000, 32000, 44100, 48000},0-使用 SDK 数据当前采样率
channel声道数,取值范围:{0, 1, 2},0-使用 SDK 数据当前声道数
Note
调用时机:初始化 SDK 之后,反初始化 SDK 之前

◆ EnableCamera()

ZEGO_API bool ZEGO::LIVEROOM::EnableCamera ( bool  bEnable,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

开启摄像头

Parameters
bEnabletrue 开启,false 关闭。默认 true
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ EnableCapturedAudioVADStableStateMonitor()

ZEGO_API void ZEGO::LIVEROOM::EnableCapturedAudioVADStableStateMonitor ( bool  enable,
int  period = 3000 
)

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

Parameters
enable是否开启
period检测周期,单位毫秒,默认值 3000,有效值 [200, 10000]
Note
推流前后设置都有效。预览或者推流后开始回调

◆ EnableCheckPoc()

ZEGO_API void ZEGO::LIVEROOM::EnableCheckPoc ( bool  bEnable)

帧顺序检测开关

Parameters
bEnalbetrue 检测帧顺序,不支持B帧; false 不检测帧顺序,支持B帧,可能出现短暂花屏

◆ EnableColorEnhancement()

ZEGO_API void ZEGO::LIVEROOM::EnableColorEnhancement ( bool  enable,
AV::ZegoColorEnhancementParams  params,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

开启色彩增强

Parameters
enable是否开启;true 表示开启;false 表示关闭。
params色彩增强参数。
idx推流通道号,参见 PublishChannelIndex,默认值 PUBLISH_CHN_MAIN。
Note
调用时机:InitSDK 成功后才能调用本接口,可实时更改生效。
Attention
不支持 Linux 平台。

◆ EnableDTX()

ZEGO_API void ZEGO::LIVEROOM::EnableDTX ( bool  bEnable)

是否开启离散音频包发送

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

◆ EnableH265EncodeFallback()

ZEGO_API bool ZEGO::LIVEROOM::EnableH265EncodeFallback ( bool  enable)

开/关 H.265 编码自动降级到 H.264 编码

Parameters
enabletrue - 在H.265编码失败时,自动降级到H.264编码,false - 不支持H.265编码自动降级,默认true
Returns
true 成功,false 失败
Attention
支持版本:6.3.0 及以上。
在推流前调用本接口。
推 H.265 流时是否自动降级到 H.264 编码的开关;开启自动降级后,当不支持 H.265 编码或编码 H.265 失败时,SDK 内部会尝试降级使用 H.264 编码进行推流;关闭自动降级后,当不支持 H.265 编码或编码 H.265 失败时,直接推流失败。在推流前调用本接口。
当推流过程中发生从 H.265 降级到 H.264 编码时,如果正在本地视频录制或云录制,会导致产生多个录制文件,需要对此做处理。

◆ EnableLoopback()

ZEGO_API bool ZEGO::LIVEROOM::EnableLoopback ( bool  bEnable)

开启采集监听

Parameters
bEnabletrue 打开,false 关闭。默认 false
Returns
true 成功,false 失败 @discussion 推流时可调用本 API 进行参数配置。连接耳麦时设置才实际生效。开启采集监听,主播方讲话后,会听到自己的声音。 @discussion 耳返默认是在采集之后、前处理之前返回,如果需要在前处理之后返回请咨询技术支持。

◆ EnableMic()

ZEGO_API bool ZEGO::LIVEROOM::EnableMic ( bool  bEnable)

开启麦克风

Parameters
bEnabletrue 打开,false 关闭。默认 true
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置

◆ EnableMicDevice()

ZEGO_API bool ZEGO::LIVEROOM::EnableMicDevice ( bool  enable)

设置是否允许SDK使用麦克风设备

Parameters
enabletrue 表示允许使用麦克风,false 表示禁止使用麦克风,此时如果SDK在占用麦克风则会立即释放。
Returns
bool true 调用成功,false 调用失败。 @discussion 调用时机为引擎创建后的任意时刻。
Note
接口由于涉及对设备的操作,极为耗时,不建议随便调用,只在真正需要让出麦克风给其他应用的时候才调用。

◆ EnableNoiseSuppress()

ZEGO_API bool ZEGO::LIVEROOM::EnableNoiseSuppress ( bool  bEnable)

音频采集降噪开关

未调用此函数前,SDK 内部会自动判断是否需要使用 ANS,一旦调用了此函数则不再自动判断 若需要恢复为 SDK 自动判断,请调用 [ResetNoiseSuppress]

Parameters
bEnable是否开启
Returns
true 成功,false 失败

◆ EnablePlayVirtualStereo()

ZEGO_API bool ZEGO::LIVEROOM::EnablePlayVirtualStereo ( bool  enable,
int  angle,
const char *  streamID 
)

设置拉的流的虚拟立体声源相对于本端的角度,可以实现空间音频效果

Parameters
enabletrue 开启,false 关闭,默认关闭
angle虚拟立体声中声源的角度,范围为0~360,90为正前方,0对应正右方
streamID流 ID
Returns
0 成功,否则失败
Note
调用时机为拉流前或者拉流中, 每次拉流都需要重新设置

◆ EnablePreviewMirror()

ZEGO_API bool ZEGO::LIVEROOM::EnablePreviewMirror ( bool  bEnabasle,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

是否启用预览镜像

Parameters
bEnabletrue 启用,false 不启用。默认 true
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Note
默认启用预览镜像

◆ EnablePublishStreamAlignment()

ZEGO_API int ZEGO::LIVEROOM::EnablePublishStreamAlignment ( bool  enable)

设置所有推流通道是否校准网络时间,用于混流时各路流的对齐

Parameters
enabletrue开启,false关闭
Returns
0 表示成功,-1 为失败
Attention
此方法依赖网络时间模块
InitSDK后 推流之前设置
Deprecated:
请使用 SetStreamAlignmentProperty 接口代替

◆ EnableScreenCaptureEncodeOptimization()

ZEGO_API void ZEGO::LIVEROOM::EnableScreenCaptureEncodeOptimization ( bool  enable,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

开启屏幕分享编码优化

Parameters
enable是否开启。true:开启,false:关闭。默认是关闭的。
idx推流通道
Attention
前置条件:仅在软件编码的情况下使用 OpenH264 编码时有效。在默认情况下 SDK 就是使用 OpenH264 编码器。
调用 RequireHardwareAccelerated 或者 RequireHardwareEncoder开启硬件编码后,本接口失效。
调用 SetVideoCodecId 设置非默认选项时,本接口失效。
Note
初始化 SDK 之后,推流之前设置有效,当次推流结束后失效。
推荐使用场景:在屏幕共享推流时,SDK 会优化编码,使得清晰度会好很多,视频码率比较稳定,还支持分层编码。

◆ EnableSelectedAudioRecord()

ZEGO_API bool ZEGO::LIVEROOM::EnableSelectedAudioRecord ( unsigned int  uMask,
int  nSampleRate = 44100,
int  nChannels = 1 
)

音频录制回调开关

Attention
  1. 在启动推流或者启动本地录制(MediaRecorder)的时候,才能开启音频录制。
Parameters
uMask启用音频源选择,参考 AV::ZegoAVAPIAudioRecordMask
nSampleRate采样率 8000, 16000, 22050, 24000, 32000, 44100, 48000
nChannels声道数 1(单声道) 或 2(双声道)
Returns
true 成功,false 失败

◆ EnableSpeaker()

ZEGO_API bool ZEGO::LIVEROOM::EnableSpeaker ( bool  bEnable)

(声音输出)扬声器开关

Note
  1. 设置为关闭后,默认扬声器和耳机均无声音输出。
Parameters
bEnabletrue 开启,false 关闭。默认 true
Returns
true 成功,false 失败

◆ EnableTrafficControl()

ZEGO_API void ZEGO::LIVEROOM::EnableTrafficControl ( int  properties,
bool  bEnable,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

是否开启流量控制

Parameters
properites流量控制属性 (帧率,分辨率),参考 ZegoTrafficControlProperty 定义。默认 ZEGO_TRAFFIC_CONTROL_ADAPTIVE_FPS
bEnabletrue 开启,false 关闭。默认开启。
idx推流通道,参考 AV::PublishChannelIndex 定义。默认 AV::PUBLISH_CHN_MAIN。
Note
bEnable 设置为 false 时,properties 参数无效。
在初始化 SDK 之后,推流之前调用,如果每次推流前不重新设置,将继续使用上次的配置,在反初始化 SDK 之后失效。
只适用于 UDP 推流。
默认开启主通道, 关闭其他通道。

◆ EnableTransientNoiseSuppress()

ZEGO_API bool ZEGO::LIVEROOM::EnableTransientNoiseSuppress ( bool  bEnable)

音频采集智能降噪开关, 消除键盘、敲桌子的规律噪音

Parameters
bEnable是否开启 true 开启,false 关闭,默认关闭
Returns
true 成功,false 失败

◆ EnableVAD()

ZEGO_API void ZEGO::LIVEROOM::EnableVAD ( bool  bEnable)

是否开启语音活动检测

Parameters
bEnabletrue 开启;false 关闭,默认关闭
Attention
确保在推流前调用,只有纯 UDP 方案才可以调用此接口

◆ EnableVideoObjectSegmentation() [1/2]

ZEGO_API void ZEGO::LIVEROOM::EnableVideoObjectSegmentation ( bool  enable,
AV::ZegoObjectSegmentationType  type,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

开启视频主体分割

Parameters
enable是否开启主体分割,默认关闭。
type主体分割类型。
idx推流通道,默认为 AV::PUBLISH_CHN_MAIN。
Note
调用时机:InitSDK 成功后才能调用本接口,可实时更改生效。
相关回调:调用后可以通过 ILivePublisherCallback::OnVideoObjectSegmentationStateChanged 接收主体分割状态。
Attention
开启主体分割为耗时操作,轻勿频繁开启关闭。
不支持 Linux 平台。
该功能需要特殊编包,请联系 ZEGO 技术支持。

◆ EnableVideoObjectSegmentation() [2/2]

ZEGO_API void ZEGO::LIVEROOM::EnableVideoObjectSegmentation ( bool  enable,
const AV::ZegoObjectSegmentationConfig config,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

开启主体分割

Parameters
enable是否开启主体分割,默认关闭。
config主体分割配置。
idx推流通道,默认为 AV::PUBLISH_CHN_MAIN。
Note
调用时机:InitSDK 成功后才能调用本接口,可实时更改生效。
相关回调:调用后可以通过 ILivePlayerCallback::OnVideoObjectSegmentationStateChanged 接收主体分割状态。
Attention
开启主体分割为耗时操作,轻勿频繁开启关闭。
不支持 Linux 平台。
该功能需要特殊编包,请联系 ZEGO 技术支持。

◆ EnableViewMirror()

ZEGO_API bool ZEGO::LIVEROOM::EnableViewMirror ( bool  bEnable,
const char *  pszStreamID 
)

是否启用播放镜像

Parameters
bEnabletrue 启用,false 不启用。默认 true
pszStreamID播放流 ID
Returns
true 成功,false 失败
Note
必须在拉流 StartPlayingStream 或 StartPlayingStream2 后调用才有效,每次拉流都需要重新设置
默认启用播放镜像

◆ EndJoinLive()

ZEGO_API int ZEGO::LIVEROOM::EndJoinLive ( const char *  pszUserID,
const char *  pszRoomID = nullptr 
)

结束连麦

Parameters
pszUserID指定结束连麦的用户 ID
pszRoomID房间 ID
Returns
请求seq,正值为有效,等待 ILivePublisherCallback::OnEndJoinLive 回调
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ FreeDeviceList()

ZEGO_API void ZEGO::LIVEROOM::FreeDeviceList ( AV::DeviceInfo parrDeviceList)

释放设备列表

Parameters
parrDeviceList设备列表
Attention
该接口只适用于Windows 与 Mac 平台。

◆ FreeRoomStreamList()

ZEGO_API void ZEGO::LIVEROOM::FreeRoomStreamList ( ROOM::ZegoRoomStreamList streamList)

释放GetRoomStreamList 获取的列表内存

Parameters
streamListGetRoomStreamList 获取的streamList 列表

◆ FreeVideoCodecCapabilityList()

ZEGO_API void ZEGO::LIVEROOM::FreeVideoCodecCapabilityList ( AV::ZegoCodecCapabilityInfo parrCodecCapability)

释放设备编码格式的能力列表

Parameters
parrCodecCapability设备编码格式的能力列表

◆ FreeVideoDevCapabilityList()

ZEGO_API void ZEGO::LIVEROOM::FreeVideoDevCapabilityList ( AV::DeviceVideoCapabilityInfo parrVideoCapability)

释放视频设备的分辨率列表

Parameters
parrVideoCapability视频设备的分辨率列表
Attention
该接口只适用于Windows 与 Mac 平台。

◆ GetAudioDeviceList()

ZEGO_API AV::DeviceInfo * ZEGO::LIVEROOM::GetAudioDeviceList ( AV::AudioDeviceType  deviceType,
int &  device_count 
)

获取音频设备列表

Parameters
deviceType设备类型
device_count设备数量
Returns
音频设备列表
Attention
该接口只适用于Windows 与 Mac 平台。

◆ GetAudioRouteType()

ZEGO_API int ZEGO::LIVEROOM::GetAudioRouteType ( )

获取当前的 audio route type

Returns
audio route type

◆ GetCaptureSoundLevel()

ZEGO_API float ZEGO::LIVEROOM::GetCaptureSoundLevel ( )

获取当前采集的音量

Returns
当前采集音量大小

◆ GetChannelExtraParam()

ZEGO_API void * ZEGO::LIVEROOM::GetChannelExtraParam ( AV::ChannelExtraParamKey  key,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

获取推流通道扩展参数

Parameters
key需要获取的参数类型,目前仅支持 AVCaptureDevice
idx推流通道索引,默认主通道
Attention
初始化 SDK 之后调用
目前仅支持 Mac/iOS 平台

◆ GetMaxPlayChannelCount()

ZEGO_API int ZEGO::LIVEROOM::GetMaxPlayChannelCount ( )

获取 SDK 支持的最大同时播放流数

Returns
最大支持播放流数

◆ GetMaxPublishChannelCount()

ZEGO_API int ZEGO::LIVEROOM::GetMaxPublishChannelCount ( )

获取 SDK 支持的最大同时支持的推流路数

Returns
最大支持推流路数

◆ GetRoomMessage()

ZEGO_API bool ZEGO::LIVEROOM::GetRoomMessage ( ROOM::ZegoMessagePriority  priority,
bool  ascendOrder,
unsigned long long  messageId,
int  messageCount,
const char *  roomID = nullptr 
)

获取聊天室历史消息

Deprecated:
该接口已废弃。
Parameters
priority消息优先级
ascendOrder历史消息新旧顺序
messageId消息ID
messageCount历史消息条数
roomID可选,房间 ID, 为 nullptr 时,表示往默认房间发送
Returns
true 成功,false 失败
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ GetRoomStreamList()

ZEGO_API bool ZEGO::LIVEROOM::GetRoomStreamList ( ROOM::ZegoRoomStreamList **  streamList,
ROOM::ZegoRoomStreamListType  streamListType,
const char *  roomID = nullptr 
)

获取房间内的流列表

Parameters
streamList流列表
streamListType获取流列表类型
roomID可选,房间 ID

◆ GetSDKVersion()

ZEGO_API const char * ZEGO::LIVEROOM::GetSDKVersion ( )

获取SDK版本号

Returns
版本号

◆ GetSDKVersion2()

ZEGO_API const char * ZEGO::LIVEROOM::GetSDKVersion2 ( )

获取SDK版本号2

Returns
版本号2

◆ GetSoundLevel()

ZEGO_API float ZEGO::LIVEROOM::GetSoundLevel ( const char *  pszStreamID)

获取当前播放视频的实时音量

Attention
  1. 必须在拉流 StartPlayingStream 或 StartPlayingStream2 后调用才有效。
Note
1.播放直播时通过此 API 获取当前音量。
Parameters
pszStreamID播放流 ID
Returns
视频的实时音量值

◆ GetUserByStreamID()

ZEGO_API ROOM::ZegoUser ZEGO::LIVEROOM::GetUserByStreamID ( const char *  pszStreamID)

获取发布指定流 ID 的发布者信息

Attention
需保证该流已经存在
Parameters
pszStreamID流 ID
Returns
ROOM::ZegoUser 发布者信息

◆ GetUserID()

ZEGO_API const char * ZEGO::LIVEROOM::GetUserID ( )

获取用户信息

Returns
UserID

◆ GetVideoCodecCapabilityList()

ZEGO_API AV::ZegoCodecCapabilityInfo * ZEGO::LIVEROOM::GetVideoCodecCapabilityList ( int &  len)

获取设备编码格式的能力,外部拿到信息 建议立即调用FreeVideoCodecCapabilityList 销毁SDK申请的内存。

Parameters
len设备支持编码格式个数
Returns
设备编码格式的能力列表
Attention
初始化 SDK 之后调用
建议在回调初始化 SDK 成功之后调用该接口

◆ GetVideoDevCapabilityList()

ZEGO_API AV::DeviceVideoCapabilityInfo * ZEGO::LIVEROOM::GetVideoDevCapabilityList ( const char *  pszVideoDeviceID,
int &  nVideoCapabilityInfoCount 
)

获取视频设备的分辨率列表,获取完成后,外部拿到信息 建议立即调用FreeVideoDevCapabilityList 销毁SDK申请的内存。 mac 平台需在initsdk 回调后调用

Parameters
pszVideoDeviceID视频设备 ID
nVideoCapabilityInfoCount支持分辨率列表个数
Returns
true 视频设备支持分辨率列表
Attention
该接口只适用于Windows 与 Mac 平台。

◆ GetVideoDeviceList()

ZEGO_API AV::DeviceInfo * ZEGO::LIVEROOM::GetVideoDeviceList ( int &  device_count)

获取视频设备列表

Parameters
device_count设备数量
Returns
视频设备列表
Attention
该接口只适用于Windows 与 Mac 平台。

◆ InitPlatform()

ZEGO_API bool ZEGO::LIVEROOM::InitPlatform ( void *  jvm = 0,
void *  ctx = 0,
void *  clsLoader = 0 
)

初始化引擎

Parameters
jvmjvm 仅用于 Android
ctxctx 仅用于 Android
clsLoader仅用于 Android
Returns
true 成功,false 失败

◆ InitSDK()

ZEGO_API bool ZEGO::LIVEROOM::InitSDK ( unsigned int  uiAppID,
unsigned char *  pBufAppSignature,
int  nSignatureSize 
)

初始化 SDK

Parameters
uiAppIDZego 派发的数字 ID, 各个开发者的唯一标识
pBufAppSignatureZego 派发的签名, 用来校验对应 appID 的合法性
nSignatureSize签名长度(字节)
Returns
true 成功,false 失败
Note
初始化 SDK 失败可能导致 SDK 功能异常
在初始化之前,建议使用 [SetLogDirAndSize] 设置 SDK 日志路径。若路径设置 nullptr,则 SDK 会创建默认路径,具体查看 https://doc-zh.zego.im/faq/express_sdkLog

◆ InviteJoinLive()

ZEGO_API int ZEGO::LIVEROOM::InviteJoinLive ( const char *  pszUserID,
const char *  pszRoomID = nullptr 
)

邀请连麦

Parameters
pszUserID准备邀请的用户 ID
pszRoomID房间 ID
Returns
请求 seq,正值为成功,其他为失败
Attention
邀请成功后,等待 ILivePublisherCallback::OnInviteJoinLiveResponse 回调
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。
Note
被邀请的用户会收到 OnInviteJoinLiveRequest 回调

◆ IsVideoDecoderSupported() [1/2]

ZEGO_API bool ZEGO::LIVEROOM::IsVideoDecoderSupported ( AV::ZegoVideoCodecAvc  codecID)

是否支持指定视频解码格式

Parameters
codecID解码ID
Returns
true - 支持指定解码能力,false - 不支持指定解码能力
Attention
支持版本:6.3.0 及以上。
必须在InitSDK成功后才能调用本接口
是否支持指定视频解码,主要取决于以下几个方面:硬件型号是否支持硬解、硬件型号性能是否支持软解、SDK 是否带该解码模块。
建议用户在拉 H.265 流前,先调用本接口获取 H.265 解码支持能力,如果不支持,可以拉其他编码格式的流,比如 H.264。

◆ IsVideoDecoderSupported() [2/2]

ZEGO_API int ZEGO::LIVEROOM::IsVideoDecoderSupported ( AV::ZegoVideoCodecAvc  codecID,
AV::ZegoVideoCodecBackend  codecBackend 
)

是否支持指定视频解码格式

Parameters
codecID解码ID
codecBackend解码器的后端实现
Returns
0 - 不支持指定解码能力,1 - 支持指定解码能力,2 - 未确定
Attention
支持版本:6.16.0 及以上。
必须在InitSDK成功后才能调用本接口
是否支持指定视频解码,主要取决于以下几个方面:硬件型号是否支持硬解、硬件型号性能是否支持软解、SDK 是否带该解码模块。
建议用户在拉 H.265 流前,先调用本接口获取 H.265 解码支持能力,如果不支持,可以拉其他编码格式的流,比如 H.264。

◆ IsVideoEncoderSupported() [1/2]

ZEGO_API bool ZEGO::LIVEROOM::IsVideoEncoderSupported ( AV::ZegoVideoCodecAvc  codecID)

是否支持指定视频编码

Parameters
codecID编码ID
Returns
true - 支持指定视频编码,false - 不支持指定视频编码
Attention
支持版本:6.3.0 及以上。
必须在InitSDK成功后才能调用本接口
是否支持指定视频编码,主要取决于以下几个方面:硬件型号是否支持硬编、硬件型号性能是否支持软编、SDK 是否带该编码模块。
建议用户在进行 H.265编码 推流前,先调用本接口获取 H.265 编码支持能力,如果不支持,可以采用其他编码进行推流,比如 H.264。

◆ IsVideoEncoderSupported() [2/2]

ZEGO_API int ZEGO::LIVEROOM::IsVideoEncoderSupported ( AV::ZegoVideoCodecAvc  codecID,
AV::ZegoVideoCodecBackend  codecBackend 
)

是否支持指定视频编码

Parameters
codecID编码ID
codecBackend编码器后端实现
Returns
0 - 不支持指定视频编码,1 - 支持指定视频编码,2 - 未确定
Attention
支持版本:6.16.0 及以上。
必须在InitSDK成功后才能调用本接口
是否支持指定视频编码,主要取决于以下几个方面:硬件型号是否支持硬编、硬件型号性能是否支持软编、SDK 是否带该编码模块。
建议用户在进行 H.265编码 推流前,先调用本接口获取 H.265 编码支持能力,如果不支持,可以采用其他编码进行推流,比如 H.264。

◆ LoginRoom()

ZEGO_API bool ZEGO::LIVEROOM::LoginRoom ( const char *  pszRoomID,
int  role,
const char *  pszRoomName = "" 
)

登录房间

Parameters
pszRoomID房间 ID
role成员角色, 参见 ZegoRoomRole
pszRoomName房间名称
Returns
true 成功,false 失败
Attention
如果没有开启 EnableMultiRoom,登录其他房间时,会自动退出当前房间。
如果开启了 EnableMultiRoom,可以同时登录多个房间。

◆ LogoutRoom()

ZEGO_API bool ZEGO::LIVEROOM::LogoutRoom ( const char *  pszRoomID = nullptr)

退出房间

Parameters
pszRoomID可选,要退出的房间 ID
Returns
true 成功,false 失败
Attention
退出登录后,等待 IRoomCallback::OnLogoutRoom 回调
单房间模式,LogoutRoom 会退出当前房间。退出房间会停止所有的推拉流。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 pszRoomID,否则调用失败。 退出会停止该房间相关的推拉流。

◆ MuteAudioPublish()

ZEGO_API int ZEGO::LIVEROOM::MuteAudioPublish ( bool  mute,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

推流时是否发送音频数据。

Parameters
mutetrue 不发送,false 发送
idx推流通道索引. 默认为主Channel
Returns
0 代表设置成功成功,否则设置失败
Attention
可以通过 OnAudioRecordCallback 回调获取本地音频数据

◆ MuteVideoPublish()

ZEGO_API int ZEGO::LIVEROOM::MuteVideoPublish ( bool  mute,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

推流时是否发送视频数据。

Parameters
mutetrue 不发送(仅预览),false 发送
idx推流通道索引. 默认为主Channel
Returns
0 代表设置成功成功,否则设置失败
Attention
拉流端通过 OnRemoteCameraStatusUpdate 回调监听此状态是否改变;
仅拉 UDP 流时,才能接收到状态变更通知;

◆ RemoveDumpData()

ZEGO_API void ZEGO::LIVEROOM::RemoveDumpData ( )

删除转储数据

Attention
只能删除当次的转储数据

◆ RequestJoinLive()

ZEGO_API int ZEGO::LIVEROOM::RequestJoinLive ( const char *  pszRoomID = nullptr)

向房间内的主播申请连麦

Note
  1. 调用成功后,房间内的主播会收到 ILivePublisherCallback::OnJoinLiveRequest 回调。
Parameters
pszRoomID房间 ID
Returns
请求 seq,正值为有效,等待 ILivePlayerCallback::OnJoinLiveResponse 回调,回调带回的 seq 与此函数返回值一致
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ RequireHardwareDecoder()

ZEGO_API bool ZEGO::LIVEROOM::RequireHardwareDecoder ( bool  enable,
const char *  pszStreamID = nullptr 
)

为指定拉流通道开启/关闭硬件解码,当 pszStreamID 为 nullptr 或者 "" 时为所有拉流道通开启/关闭硬件解码。

Attention
必须在调用拉流接口 StartPlayingStream 或 StartPlayingStream2 前设置; 在反初始化 SDK 前,设置的值一直有效。
Parameters
enabletrue 打开,false 关闭。默认 false
pszStreamID拉流 ID,当不指定时,默认作用于所有拉流通道
Returns
true 成功,false 失败
Note
打开硬编硬解开关需后台可控,避免碰到版本升级或者硬件升级时出现硬编硬解失败的问题;
如果想统一控制所有拉流通道的硬解码开关,只需将 pszStreamID 置为 nullptr 或者 "";
可通过此 API 分别设置全局及指定流通道的的硬解码特性;
指定流的值会与全局值相互覆盖,具体取决于其调用顺序。

◆ RequireHardwareEncoder()

ZEGO_API bool ZEGO::LIVEROOM::RequireHardwareEncoder ( bool  bRequired)

开启/关闭推流硬件编码。

Attention
必须在推流前设置; 在反初始化 SDK 前,设置的值一直有效。
Parameters
bRequiredtrue 开启,false 关闭。默认 false
Returns
true 成功,false 失败
Note
打开硬编硬解开关需后台可控,避免碰到版本升级或者硬件升级时出现硬编硬解失败的问题;
如果要单独控制某个推流通道,请参考:RequireHardwareEncoderByChannel;
See also
RequireHardwareEncoderByChannel

◆ RequireHardwareEncoderByChannel()

ZEGO_API bool ZEGO::LIVEROOM::RequireHardwareEncoderByChannel ( bool  enable,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

为某个推流道通单独开启/关闭硬件编码。

Attention
必须在推流前设置; 在反初始化 SDK 前,设置的值一直有效。
Parameters
enabletrue 开启,false 关闭。如果有调用 RequireHardwareEncoder 设置,则默认为 RequireHardwareEncoder 设置的值,否则默认为 false
idx推流通道
Returns
true 成功,false 失败
Note
打开硬编硬解开关需后台可控,避免碰到版本升级或者硬件升级时出现硬编硬解失败的问题;
如果想统一控制所有通道的硬编码开关,请参考:RequireHardwareEncoder;
通过此 API 设置的值会与通过 RequireHardwareEncoder 设置的值相互覆盖,具体取决于其调用顺序。
See also
RequireHardwareEncoder

◆ ResetAEC()

ZEGO_API void ZEGO::LIVEROOM::ResetAEC ( )

重置 AEC 到 SDK 初始状态

此函数会重置主通道 [EnableAEC] 和 [SetAECMode]

◆ ResetAGC()

ZEGO_API void ZEGO::LIVEROOM::ResetAGC ( )

重置 AGC 到 SDK 初始状态

此函数会重置 [EnableAGC]

◆ ResetNoiseSuppress()

ZEGO_API void ZEGO::LIVEROOM::ResetNoiseSuppress ( )

重置 ANS 到 SDK 初始状态

此函数会重置 [EnableNoiseSuppress], [SetNoiseSuppressMode] 和 [EnableTransientNoiseSuppress]

◆ RespondInviteJoinLiveReq()

ZEGO_API bool ZEGO::LIVEROOM::RespondInviteJoinLiveReq ( int  seq,
int  rspResult,
const char *  pszRoomID = nullptr 
)

回应房间内主播的连麦邀请

Note
  1. 一般在 ILivePlayerCallback::OnInviteJoinLiveRequest 中收到邀请后,调用此 API 回应
Parameters
seq回应的邀请 seq
rspResult回应,0 表示同意
pszRoomID房间 ID
Returns
true 成功,false 失败
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ RespondJoinLiveReq()

ZEGO_API bool ZEGO::LIVEROOM::RespondJoinLiveReq ( int  seq,
int  rspResult,
const char *  pszRoomID = nullptr 
)

回应连麦申请

Parameters
seq收到的连麦申请 seq (通过 ILivePublisherCallback::OnJoinLiveRequest 收到申请)
rspResult回应,0 表示同意
pszRoomID房间 ID
Returns
true 成功,false 失败
Note
申请者会收到 OnJoinLiveResponse 回调
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ SendBigRoomMessage()

ZEGO_API int ZEGO::LIVEROOM::SendBigRoomMessage ( ROOM::ZegoMessageType  type,
ROOM::ZegoMessageCategory  category,
const char *  messageContent,
const char *  roomID = nullptr 
)

发送不可靠信道消息,主要用于大并发的场景,发送一些非必须到达的消息

Parameters
type消息类型
category消息分类
messageContent消息内容, 小于 1024 字节
roomID可选,房间 ID, 为 nullptr 时,表示往默认房间发送
Returns
返回消息 seq,-1 表示失败
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ SendCustomCommand()

ZEGO_API int ZEGO::LIVEROOM::SendCustomCommand ( ROOM::ZegoUser memberList,
unsigned int  memberCount,
const char *  content,
const char *  roomID = nullptr 
)

发送自定义信令

Parameters
memberList信令发送成员列表。如果不指定接受人,会给所有人发送消息
memberCount成员个数
content信令内容
roomID可选,房间 ID
Returns
消息 seq
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ SendRealtimeSequentialData()

ZEGO_API int ZEGO::LIVEROOM::SendRealtimeSequentialData ( unsigned char *  userData,
int  dataLen,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

发送通过流传输的实时有序数据

Parameters
userData数据,不超过 4096 字节
dataLen数据大小
idx推流通道号,参见 AV::PublishChannelIndex,默认值 AV::PUBLISH_CHN_MAIN
Returns
大于 0 表示调用 seq,-1 表示失败
Attention
必须在 idx 通道推流成功后,才可以发送,否则会被丢弃。
发送频率不超过每秒 200 次。
接收方通过设置 SetRealtimeSequentialDataCallback 获取。

◆ SendRoomMessageEx()

ZEGO_API int ZEGO::LIVEROOM::SendRoomMessageEx ( ROOM::ZegoMessageType  type,
ROOM::ZegoMessageCategory  category,
const char *  messageContent,
const char *  roomID = nullptr 
)

发送聊天室消息

Parameters
type消息类型
category消息分类
messageContent消息内容, 小于1024 字节
roomID可选,房间 ID, 为 nullptr 时,表示往默认房间发送
Returns
返回消息 seq,-1 表示失败
Attention
单房间模式,设置 roomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 roomID,否则调用失败。

◆ SendTransparentMessage()

ZEGO_API int ZEGO::LIVEROOM::SendTransparentMessage ( ROOM::ZegoSendTransparentMessage message,
const char *  roomID = nullptr 
)

发送透传消息

Parameters
ZegoSendTransparentMessage详情见消息类型
roomID可选,房间 ID, 为 nullptr 时,表示往默认房间发送
Returns
返回消息 seq,-1 表示失败
Attention
最多发送指定给10个用户,长度限制为4K

◆ SetAECMode()

ZEGO_API void ZEGO::LIVEROOM::SetAECMode ( AV::ZegoAECMode  mode)

回声消除模式

Parameters
mode回声消除模式;默认为 [AGGRESSIVE]

◆ SetAlignedAudioAuxDataCallback()

ZEGO_API void ZEGO::LIVEROOM::SetAlignedAudioAuxDataCallback ( AVE::OnAlignedAudioAuxCallback  callback,
void *  callbackContext 
)

设置对齐后的混音数据回调

Parameters
callback对齐后的混音数据回调
callbackContext上下文
Attention
必须在 InitSDK 后且 [startPublishingStream]、[startRecord] 前
仅在使用 EnableAlignedAudioAuxData 开启了抛出对齐后的混音数据特性且 [startPublishingStream] 或 [startRecord] 才会回调
如果想要从此回调中获取媒体播放器的音频混音数据,需要调用 [enableAux] 或媒体播放器类型为 Aux

◆ SetAudioBitrate()

ZEGO_API bool ZEGO::LIVEROOM::SetAudioBitrate ( int  bitrate,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置音频码率

Parameters
bitrate码率
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SetAudioCaptureShiftOnMix()

ZEGO_API void ZEGO::LIVEROOM::SetAudioCaptureShiftOnMix ( int  shiftMS)

设置麦克风采集声音在混音过程中的偏移

Parameters
shiftMS偏移值,当 shiftMS 小于 0 时,混音时会延迟播放音;当 shiftMS 大于 0 时,混音时会延迟采集音。有效值范围[-500, 500],单位毫秒,默认值 0
Attention
初始化 SDK 之后调用有效,推流前、推流过程中调用都有效
只适用于 ktv 场景,偏移麦克风采集的人声,匹配播放器的伴奏声音
当推流主通道采用音频内部采集时,对主通道推流,主通道本地录制有效

◆ SetAudioChannelCount()

ZEGO_API void ZEGO::LIVEROOM::SetAudioChannelCount ( int  count)

设置所有推流通道的推流音频声道数

Parameters
count声道数,1 或 2,默认为 1(单声道)
Attention
必须在InitSDK后,推流前设置
Note
SetLatencyMode 设置为 ZEGO_LATENCY_MODE_NORMAL, ZEGO_LATENCY_MODE_NORMAL2, ZEGO_LATENCY_MODE_LOW3 才能设置双声道
在移动端双声道通常需要配合音频前处理才能体现效果。

◆ SetAudioChannelCountByChannel()

ZEGO_API void ZEGO::LIVEROOM::SetAudioChannelCountByChannel ( int  count,
AV::PublishChannelIndex  idx 
)

设置指定推流通道的推流音频声道数

Parameters
count声道数,1 或 2,默认为 1(单声道)
idx推流 channel Index. 详见 AV::PublishChannelIndex
Attention
必须在InitSDK后,推流前设置
Note
SetLatencyMode 设置为 ZEGO_LATENCY_MODE_NORMAL, ZEGO_LATENCY_MODE_NORMAL2, ZEGO_LATENCY_MODE_LOW3 才能设置双声道
在移动端双声道通常需要配合音频前处理才能体现效果。

◆ SetAudioDevice()

ZEGO_API bool ZEGO::LIVEROOM::SetAudioDevice ( AV::AudioDeviceType  deviceType,
const char *  pszDeviceID 
)

设置选用音频设备

Parameters
deviceType设备类型
pszDeviceID设备 ID
Returns
true 成功,false 失败

◆ SetAudioDeviceMode()

ZEGO_API void ZEGO::LIVEROOM::SetAudioDeviceMode ( AV::ZegoAVAPIAudioDeviceMode  mode)

设置音频设备模式

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

◆ SetAudioEqualizerGain()

ZEGO_API bool ZEGO::LIVEROOM::SetAudioEqualizerGain ( int  bandIndex,
float  bandGain 
)

音效均衡器

Parameters
bandIndex取值范围[0, 9]。分别对应10个频带,其中心频率分别是[31, 62, 125, 250, 500, 1K, 2K, 4K, 8K, 16K]Hz
bandGain取值范围[-15, 15]。默认值是0,如果所有频带的增益值全部为0,则会关闭EQ功能
Returns
true 调用成功,false 调用失败
Attention
在InitSDK之后调用有效。使用此接口前请与即构技术支持联系确认是否支持此功能
Deprecated:
请使用 AUDIOPROCESSING::SetAudioEqualizerGain(int, float)

◆ SetAudioMixMode()

ZEGO_API bool ZEGO::LIVEROOM::SetAudioMixMode ( AV::ZegoAudioMixMode  mixMode,
const char **  pszStreamIDList,
int  num 
)

设置多路混音时突出的拉流ID,当有多路流同时发声,将突出pszStreamIDList中的流

Parameters
mixModeZEGO_AUDIO_MIX_MODE_RAW时关闭该功能,ZEGO_AUDIO_MIX_MODE_FOCUSED时开启
pszStreamIDList需要突出的拉流ID
num需要突出的拉流ID的数量[0, 4]
Returns
true: 设置成功, false 设置失败
Attention
任意时刻调用有效,退出房间重置状态
当mixMode为ZEGO_AUDIO_MIX_MODE_FOCUSED 且 num为0时,自动挑选突出最多4路流
当mixMode为ZEGO_AUDIO_MIX_MODE_FOCUSED 且 所有设置的流都没在拉时,自动挑选突出最多4路流

◆ SetAudioPostpCallback()

ZEGO_API void ZEGO::LIVEROOM::SetAudioPostpCallback ( AVE::OnPostpCallback  callback,
const AVE::ExtPostpSet config 
)

设置音频后处理函数

Parameters
callback音频后处理函数指针
config预处理的采样率等参数设置
Attention
必须在InitSDK后,在调用预览,拉流,推流,启动播放器接口前设置
仅在使用 EnableAudioPostp 开启了音频后处理特性后才会回调
请确保在当前线程完成,且不要做耗时操作

◆ SetAudioPrepAfterLoopbackCallback()

ZEGO_API void ZEGO::LIVEROOM::SetAudioPrepAfterLoopbackCallback ( AVE::OnAudioProcCallback  callback,
const AVE::ExtPrepSet config 
)

设置音频处理函数(耳返后), 并开启/关闭音频处理特性

Parameters
callback音频处理函数指针
config预处理的采样率等参数设置
Attention
必须在 InitSDK 后且在推流前调用
该接口设置的回调处理音频不影响耳返效果

◆ SetAudioPrepCallback()

ZEGO_API void ZEGO::LIVEROOM::SetAudioPrepCallback ( AVE::OnPrepCallback  callback,
const AVE::ExtPrepSet config 
)

设置音频前处理函数(耳返前), 并开启/关闭音频前处理特性

Parameters
callback音频前处理函数指针
config预处理的采样率等参数设置
Attention
必须在InitSDK后,在调用预览,拉流,推流,启动播放器接口前设置
该接口设置的回调处理音频影响耳返效果

◆ SetAudioRecordCallback()

ZEGO_API bool ZEGO::LIVEROOM::SetAudioRecordCallback ( AV::IZegoAudioRecordCallback pCB)

设置音频录制回调,以获取录制的音频数据

Parameters
pCB实现了 AV::IZegoAudioRecordCallback 回调的对象指针,以获取录制的音频数据
Returns
true 成功,false 失败

◆ SetAudioSource()

ZEGO_API bool ZEGO::LIVEROOM::SetAudioSource ( AV::ZegoAudioSourceType  srcType,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_AUX 
)

设置采集音频源类型

Note
  1. 当 srcType 设置为 AUDIO_SRC_NONE 时,表示不启动音频采集,即没有音频数据;
  2. 当 index 为 PUBLISH_CHN_MAIN 时,srcType 不能设置为 AUDIO_SRC_MAIN_PUBLISH_CHN 和 AUDIO_SRC_PLAYER;
  3. 一旦使用过此 API 设置采集音频源类型,在停止推流时,SDK 不会重置音频采集源类型;
Parameters
srcType源类型,参见 ZegoAudioSourceType 定义
idx推流 channel Index. 默认为辅Channel
Returns
true 设置成功,false 设置失败

◆ SetAudioVADStableStateCallback()

ZEGO_API void ZEGO::LIVEROOM::SetAudioVADStableStateCallback ( AV::IZegoCheckAudioVADCallback callback)

设置检测语音状态的回调

Parameters
callback回调指针

◆ SetAVEngineCallback()

ZEGO_API bool ZEGO::LIVEROOM::SetAVEngineCallback ( IAVEngineCallback pCB)

设置“音视频引擎状态通知”的回调

Parameters
pCB回调对象指针
Returns
true 成功,false 失败

◆ SetBeforeAudioPrepCallback()

ZEGO_API void ZEGO::LIVEROOM::SetBeforeAudioPrepCallback ( AV::IZegoBeforeAudioPrepCallback callback)

设置音频前处理前的音频数据回调。

Parameters
callback回调,详见 IZegoBeforeAudioPrepCallback。
Note
调用时机:初始化 SDK 之后,反初始化 SDK 之前

◆ SetBuiltInSpeakerOn()

ZEGO_API bool ZEGO::LIVEROOM::SetBuiltInSpeakerOn ( bool  bOn)

默认扬声器开关

Attention
  1. 在拉流 StartPlayingStream 或 StartPlayingStream2 之前设置。
Note
  1. 设置为关闭后,扬声器无声音,耳机仍有声音输出。
Parameters
bOntrue 打开,false 关闭。默认 true
Returns
true 成功,false 失败

◆ SetBusinessType()

ZEGO_API bool ZEGO::LIVEROOM::SetBusinessType ( int  nType)

设置业务类型

Parameters
nType业务类型,取值 0(直播类型)或 2(实时音视频类型)。默认为 0
Returns
true 成功,false 失败
Attention
确保在创建接口对象前调用

◆ SetCaptureFrameRotation()

ZEGO_API bool ZEGO::LIVEROOM::SetCaptureFrameRotation ( int  nRotation,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置视频采集旋转角度

Parameters
nRotation逆时针旋转角度(0/90/180/270)。默认 0
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
在InitSDK之后调用有效,uninitSDK前有效。支持在推流时调用。

◆ SetCapturePipelineScaleMode()

ZEGO_API void ZEGO::LIVEROOM::SetCapturePipelineScaleMode ( AV::ZegoCapturePipelineScaleMode  mode)

设置视频采集缩放时机

Parameters
mode视频采集缩放时机,请参考 AV::ZegoCapturePipelineScaleMode 定义。默认为 ZegoCapturePipelinePreScale @discussion 初始化 SDK 后,StartPreview, StartPublish 前调用。摄像头启动之后设置不会立即生效,而是在下次摄像头启动时生效。

◆ SetCaptureVolume()

ZEGO_API void ZEGO::LIVEROOM::SetCaptureVolume ( int  volume)

设置采集音量

Parameters
volume音量大小,取值范围 [0, 200], 默认 100
Attention
SDK初始化成功后调用

◆ SetCDNPublishTarget()

ZEGO_API void ZEGO::LIVEROOM::SetCDNPublishTarget ( const char *  pszCDNPublishTarget,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

单主播模式下,自定义直推CDN的地址

Parameters
pszCDNPublishTarget目的 rtmp 推流地址
idx推流 channel Index. 默认为主Channel

◆ SetChannelExtraParam()

ZEGO_API void ZEGO::LIVEROOM::SetChannelExtraParam ( const char *  param_config,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

给推流通道设置扩展参数,一般不建议修改

Parameters
param_config参数配置信息
idx推流通道索引,默认主通道
Attention
配置项写法,例如 "zego_channel_param_key_video_x264_config_tune=animation", 等号后面值的类型要看下面每一项的定义
"zego_channel_param_key_video_x264_config_tune", string value: animation, 设置编码的 tune 值,目前只支持 animation,仅使用 X264 编码时有效
初始化 SDK 之后推流前设置才生效,推流过程中设置无效

◆ SetCloudProxyConfig()

ZEGO_API void ZEGO::LIVEROOM::SetCloudProxyConfig ( const AV::ZegoProxyInfo proxy,
int  proxyCount,
bool  enable,
const char *  token = nullptr 
)

设置云代理信息

◆ SetConfig()

ZEGO_API void ZEGO::LIVEROOM::SetConfig ( const char *  config)

设置配置信息

Parameters
configconfig 配置信息
Attention
具体配置信息请咨询技术支持
配置项的写法,例如 "keep_audio_session_active=true", 等号后面值的类型要看下面每一项的定义
"prefer_play_ultra_source", int value, 确保在 InitSDK 前调用,但开启拉流加速(config为“prefer_play_ultra_source=1”)可在 InitSDK 之后,拉流之前调用
"keep_audio_session_active", bool value, default: false, must be setting before engine started. if set true, app need to set the session inactive yourself. just be available for iOS
"enforce_audio_loopback_in_sync", bool value, default: false. enforce audio loopback in synchronous method for iOS
"audio_session_mix_with_others", bool value, default: true. set AVAudioSessionCategoryOptionMixWithOthers for iOS
"camera_orientation_mode", string value: auto/hardcode/0/90/180/270. for Android, Windows
"camera_check_position", bool value, default: false. for Android
"lower_audio_cap_sample_rate", bool value, default: false. enforce to use lower audio capture sample. for Android
"alsa_capture_device_name" string value: plughw:[card_id],[device_id], eg: plughw:1,0, default is plug:default. view the device list with arecord. for Linux
"alsa_playback_device_name" string value: plughw:[card_id],[device_id], eg: plughw:1,0, default is plug:default. view the device list with aplay. for Linux
"room_retry_time", uint32 value, default:300S 设置房间异常后自动恢复最大重试时间,SDK尽最大努力恢复,单位为S,SDK默认为300s,设置为0时不重试
"av_retry_time", uint32 value, default:300S 设置推拉流异常后自动恢复最大重试时间,SDK尽最大努力恢复,单位为S,SDK默认为300s,设置为0时不重试
"device_mgr_mode=1" 设备管理模式 1:手动模式 2:半自动模式 3:全自动模式 默认选项 1
"play_clear_last_frame", bool value, default Apple true、其他 false. 停止拉流时,是否清除最后一帧内容
"preview_clear_last_frame", bool value, default false. 停止预览时,是否清除最后一帧内容。注意:必须停止预览且setPreviewView设置为空,此配置才能生效。否则,停止预览后,播放控件仍会保留最后一帧
"vcap_external_handle_rotation", bool value, default true, 表示在推流端处理旋转;设置为 vcap_external_handle_rotation=false 时,会把旋转值传到拉流端(仅为 UDP 时有效)。这个配置目前只对外部采集的内存模式和 CVPixelBuffer 模式生效
"room_user_update_optimize", bool value, default:false 是否开启SDK 用户回调优化,登录房间之前设置,之后一直生效。设置room_user_update_optimize=true 时,后续SDK回调OnUserUpdate 将只会在首次登陆成功,房间内有用户时回调全量,后续都增量回调,SDK内部将会维护房间列表数据,外部不需再存储做比对逻辑.
"audio_jitter_break_threshold_ms", uint32 value, default:200ms 定义音频卡顿时长,当音频卡顿时长超过该值时,认为存在卡顿,单位为ms,SDK默认为200ms,取值范围[10,2000]
"video_jitter_break_threshold_ms", uint32 value, default:500ms 定义视频卡顿时长,当视频卡顿时长超过该值时,认为存在卡顿,单位为ms,SDK默认为500ms,取值范围[500,2000]
"transform_http_to_https_on_init", bool value, default false,控制是否在initSDK时使用https替代http
"enable_audio_device_greylist", bool value, default false, 控制是否开启音频输出设备灰名单(当开启时,灰名单列表中的音频输出设备会被过滤掉,但若不存在灰名单之外的设备时,不做过滤)
"use_data_record", bool value, default false,控制是否启用数据录制,会在推流的时候打sei时间戳

◆ SetCustomCDNPublishTarget()

ZEGO_API bool ZEGO::LIVEROOM::SetCustomCDNPublishTarget ( const AV::ZegoCDNPublishTarget  target,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

单主播模式下,自定义直推CDN的地址

Parameters
target推流地址信息
idx推流 channel Index. 默认为主Channel
Returns
true 设置成功,false 设置失败

◆ SetCustomPublishTarget()

ZEGO_API void ZEGO::LIVEROOM::SetCustomPublishTarget ( const char *  pszCustomPublishTarget,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

自定义转推目的地

Parameters
pszCustomPublishTarget目的 rmtp 推流地址
idx推流 channel Index. 默认为主Channel

◆ SetCustomToken()

ZEGO_API bool ZEGO::LIVEROOM::SetCustomToken ( const char *  thirdPartyToken)

设置房间的自定义token信息

Deprecated:
废弃,请使用 SetToken 代替
Parameters
thirdPartyToken第三方传入的token
Returns
true 成功,false 失败 @discussion 使用此函数验证登录及推流时用户的合法性,登录房间前调用,token的生成规则请联系即构。若不需要验证用户合法性,不需要调用此函数 @discussion 在登录房间前调用有效,支持登录后重置,退出房间后失效。
Attention
单房间模式,该设置只作用于其后登录的房间,退出房间后失效。
不支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom)

◆ SetDataCacheDir()

ZEGO_API bool ZEGO::LIVEROOM::SetDataCacheDir ( const char *  cache_dir)

设置数据缓存目录,用于存储 SDK 需要缓存的数据文件

Parameters
cache_dir数据缓存目录
Attention
非必要不设置,如果没设置,SDK 会使用系统默认的缓存目录
Returns
true: 调用成功; false: 调用失败

◆ SetDeviceStateCallback()

ZEGO_API void ZEGO::LIVEROOM::SetDeviceStateCallback ( AV::IZegoDeviceStateCallback pCB)

设置音频视频设备变化的回调

Parameters
pCB回调对象指针

◆ SetDummyCaptureImagePath()

ZEGO_API void ZEGO::LIVEROOM::SetDummyCaptureImagePath ( const char *  filePath,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置关闭摄像头时所推静态图片的路径

Parameters
filePath图片路径
idx推流 channel Index. 默认为主Channel
Attention
InitSDK之后,关闭摄像头前调用本 API 进行参数配置,关闭摄像头后会推静态图片
支持推静态图片时调用此 API 动态更换静态图片

◆ SetDumpDataCallback()

ZEGO_API void ZEGO::LIVEROOM::SetDumpDataCallback ( AV::IZegoDumpDataCallback callback)

设置转储数据的回调

Parameters
callback回调指针

◆ SetExperimentalAPICallback()

ZEGO_API void ZEGO::LIVEROOM::SetExperimentalAPICallback ( ExperimentalAPICallback  callback)

设置试验性API回调函数

Parameters
callback试验性API回调函数指针

◆ SetFilter()

ZEGO_API bool ZEGO::LIVEROOM::SetFilter ( int  nIndex,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置滤镜

Parameters
nIndex滤镜索引。默认不使用滤镜
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置

◆ SetGeoFence()

ZEGO_API bool ZEGO::LIVEROOM::SetGeoFence ( enum AV::ZegoGeoFenceType  type,
const int *  area_code_list,
int  area_code_list_count 
)

设置地理围栏

Parameters
type设置指定区域是允许还是排除
area_code_list区域列表,参考 ZegoGeoFenceAreaCode
area_code_list_count区域列表个数
Note
note 必须在初始化SDK之前设置
Returns
true: 调用成功; false: 调用失败

◆ SetIMCallback()

ZEGO_API bool ZEGO::LIVEROOM::SetIMCallback ( IIMCallback pCB)

设置 IM 信息通知的回调对象

Parameters
pCB回调对象指针
Returns
true 成功,false 失败

◆ SetLatencyMode()

ZEGO_API void ZEGO::LIVEROOM::SetLatencyMode ( AV::ZegoAVAPILatencyMode  mode)

设置所有推流通道的延迟模式

Parameters
mode延迟模式,默认 ZEGO_LATENCY_MODE_NORMAL
Attention
确保在InitSDK后,推流前调用

◆ SetLatencyModeByChannel()

ZEGO_API void ZEGO::LIVEROOM::SetLatencyModeByChannel ( AV::ZegoAVAPILatencyMode  mode,
AV::PublishChannelIndex  idx 
)

设置指定推流通道的延迟模式

Parameters
mode延迟模式,默认 ZEGO_LATENCY_MODE_NORMAL
idx推流 channel Index. 详见 AV::PublishChannelIndex
Attention
确保在InitSDK后,推流前调用

◆ SetLicense()

ZEGO_API void ZEGO::LIVEROOM::SetLicense ( const char *  license)

设置 license 鉴权

Parameters
licenselicense 信息
Note
note 必须在初始化SDK之前设, 生命周期直到下次设置,或进程销毁

◆ SetLiveEventCallback()

ZEGO_API void ZEGO::LIVEROOM::SetLiveEventCallback ( AV::IZegoLiveEventCallback pCB)

设置直播事件回调

Parameters
pCB回调对象指针

◆ SetLivePlayerCallback()

ZEGO_API bool ZEGO::LIVEROOM::SetLivePlayerCallback ( ILivePlayerCallback pCB)

设置直播观众相关信息通知的回调,以接收拉流事件回调

Attention
  1. 在调用初始化 SDK 接口之后、拉流接口 StartPlayingStream 或 StartPlayingStream2 之前设置。
Parameters
pCB实现了 ILivePlayerCallback 回调的对象指针,以接收拉流事件
Returns
true 成功,false 失败

◆ SetLivePublisherCallback()

ZEGO_API bool ZEGO::LIVEROOM::SetLivePublisherCallback ( ILivePublisherCallback pCB)

设置直播主播相关信息通知的回调

Parameters
pCB回调对象指针
Returns
true 成功,false 失败

◆ SetLocalProxyConfig()

ZEGO_API void ZEGO::LIVEROOM::SetLocalProxyConfig ( const AV::ZegoProxyInfo proxy,
int  proxyCount,
bool  enable 
)

设置本地代理信息

◆ SetLogDirAndSize()

ZEGO_API bool ZEGO::LIVEROOM::SetLogDirAndSize ( const char *  pszLogDir,
unsigned long long  lLogFileSize = ZEGO_DEFAULT_LOG_SIZE,
const char *  pszSubFolder = nullptr,
unsigned int  log_file_count = 3 
)

设置日志路径和大小

Parameters
pszLogDir日志路径
lLogFileSize单个日志文件大小, 有效范围[1*1024 * 1024, 100*1024*1024], 默认 5*1024*1024 字节。当设置为 0 时,不写日志(不推荐,当 SDK 出问题时无法定位原因)
pszSubFolder日志子目录,如果指定了子目录,则日志文件会存放在此子目录下
log_file_count日志文件个数,默认是 3 个
Returns
true 成功;flase 失败.
Attention
SDK 默认单个日志文件大小为 5M

◆ SetLogHook()

ZEGO_API void ZEGO::LIVEROOM::SetLogHook ( void(*)(const char *message)  log_hook)

日志hook 的回调函数

Parameters
logHook日志的回调函数 建议外部static 函数。
Attention
回调信息为加密信息(需要zego解密工具解密)。
设置此日志回调之后sdk 将不会在写日志文件。
调用时机,应该最早时机调用此接口 InitSDK之前。

◆ SetLoopbackVolume()

ZEGO_API void ZEGO::LIVEROOM::SetLoopbackVolume ( int  volume)

设置监听音量

Parameters
volume音量大小,取值范围 [0, 200], 默认 60
Attention
推流时可调用本 API 进行参数配置

◆ SetLowlightEnhancement()

ZEGO_API bool ZEGO::LIVEROOM::SetLowlightEnhancement ( AV::ZegoLowlightEnhanceMode  mode,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置低照度增强

Note
根据设置的低照度增强模式,对摄像头采集的画面亮度进行增强,兼容美颜功能。用户可以在预览时观看效果,并实时切换低照度增强模式。
适用场景:推流端环境较暗,或者摄像头设置的帧率较高导致画面偏暗,无法正常显示或识别主体。
Parameters
mode低照度增强模式。
idx推流 channel Index。
Attention
初始化 SDK 后可调用。

◆ SetMinVideoBitrateForTrafficControl()

ZEGO_API void ZEGO::LIVEROOM::SetMinVideoBitrateForTrafficControl ( int  nBitrate,
AV::ZegoTrafficControlMinVideoBitrateMode  mode = AV::ZEGO_TRAFFIC_CONTROL_MIN_VIDEO_BITRATE_NO_VIDEO,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置推流视频码率达不到最小阈值时的控制策略

Parameters
nBitrate视频码率最小阈值,单位为bps。
mode低于视频码率最小阈值时的视频发送模式。当网络情况较差,无法发送该最小码率的数据时,如果选择 ZEGO_TRAFFIC_CONTROL_MIN_VIDEO_BITRATE_NO_VIDEO 模式,视频会被暂停,而不是以低于该码率继续发送。如果选择 ZEGO_TRAFFIC_CONTROL_MIN_VIDEO_BITRATE_ULTRA_LOW_FPS 模式,视频会以超低帧率发送。
idx推流通道,参考 AV::PublishChannelIndex 定义。默认 AV::PUBLISH_CHN_MAIN。
Note
在初始化 SDK 之后调用有效,在反初始化 SDK 之后失效。
调用 EnableTrafficControl 接口启动该通道流量控制后,调用该接口才生效。
初始化 SDK 后默认情况下没有设置视频码率最小值,即尽可能的保持视频流畅。
如果需要取消该设置值的限制可以设置为 0。

◆ SetMinVideoFpsForTrafficControl()

ZEGOAVKIT_API void ZEGO::LIVEROOM::SetMinVideoFpsForTrafficControl ( int  nFps,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置推流视频帧率达不到最小阈值时的控制策略

Parameters
[in]nFps视频帧率最小阈值,单位为fps。
[in]idx推流通道,参考 AV::PublishChannelIndex 定义。默认 AV::PUBLISH_CHN_MAIN。
Note
在初始化 SDK 之后调用有效,在反初始化 SDK 之后失效。
调用 EnableTrafficControl 接口启动该通道流量控制后,调用该接口才生效。
初始化 SDK 后默认情况下没有设置视频帧率最小值,即尽可能的保持视频流畅。
如果需要取消该设置值的限制可以设置为 0。

◆ SetMinVideoResolutionForTrafficControl()

ZEGOAVKIT_API void ZEGO::LIVEROOM::SetMinVideoResolutionForTrafficControl ( int  nWidth,
int  nHeight,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置推流视频分辨率达不到最小阈值时的控制策略

Parameters
[in]nWidth视频分辨率宽的最小阈值。
[in]nHeight视频分辨率高的最小阈值。
[in]idx推流通道,参考 AV::PublishChannelIndex 定义。默认 AV::PUBLISH_CHN_MAIN。
Note
在初始化 SDK 之后调用有效,在反初始化 SDK 之后失效。
调用 EnableTrafficControl 接口启动该通道流量控制后,调用该接口才生效。
初始化 SDK 后默认情况下没有设置视频分辨率最小值,即尽可能的保持视频流畅。
如果需要取消该设置值的限制可以设置为 0。

◆ SetNetTypeCallback()

ZEGO_API void ZEGO::LIVEROOM::SetNetTypeCallback ( AV::IZegoNetTypeCallback pCB)

设置网络类型回调

Parameters
pCB回调对象指针

◆ SetNoiseSuppressMode()

ZEGO_API bool ZEGO::LIVEROOM::SetNoiseSuppressMode ( AV::ZegoANSMode  mode)

设置音频采集降噪等级

Parameters
mode降噪等级,详见 ZegoANSMode 定义,默认为 [MEDIUM]
Returns
true 成功,false 失败

◆ SetPlayQualityMonitorCycle()

ZEGO_API bool ZEGO::LIVEROOM::SetPlayQualityMonitorCycle ( unsigned int  timeInMS)

设置拉流质量监控周期

Note
  1. 设置该 API 后,ILivePlayerCallback::OnPlayQualityUpdate 将会按照设置值的频率回调。
Parameters
timeInMS时间周期,单位为毫秒,取值范围为(500, 60000)。默认为 3000
Returns
true 成功,false 失败

◆ SetPlayStreamFocus()

ZEGO_API bool ZEGO::LIVEROOM::SetPlayStreamFocus ( const char *  streamID)

设置拉流优先级的权重,被置为 focus 的流,优先保证其质量。

Parameters
streamID流 ID,当为 null 时,恢复初始状态,所有流的权重相同。
Returns
true: 设置成功, false: 设置失败
Attention
默认所有流的权重相同。
只能设置一路流是高优先级的,以最后设置的为准。
在本地网络不好的时候,保证focus流的同时,可能造成其他的卡顿更多。
设置高优先级的流可以在拉流前或者拉流过程中设置,流停止之后自动恢复初始状态,所有流的权重相同。

◆ SetPlayStreamsAlignmentProperty()

ZEGO_API int ZEGO::LIVEROOM::SetPlayStreamsAlignmentProperty ( int  alignment)

设置拉流是否校准网络时间,用于有对齐属性的各路流进行时间对齐

Parameters
alignment1 开启,0 关闭
Returns
0 表示成功,-1 为失败
Attention
InitSDK成功后才能调用本接口,可实时更改生效。

◆ SetPlayVolume()

ZEGO_API bool ZEGO::LIVEROOM::SetPlayVolume ( int  volume,
const char *  pszStreamID = 0 
)

设置拉流的播放音量

Attention
  1. 必须在拉流 StartPlayingStream 或 StartPlayingStream2 后调用才有效,每次拉流都需要重新设置。
Note
  1. 播放直播过程中可通过此 API 调整播放音量。
Parameters
volume音量大小, 取值范围[0, 200], 默认 100
pszStreamID需要设置播放音量的流 ID , 传入 nullptr 表示统一设置所有拉流的播放音量
Returns
true 成功,false 失败

◆ SetPolishFactor()

ZEGO_API bool ZEGO::LIVEROOM::SetPolishFactor ( float  factor,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置美颜采样颜色阈值

Parameters
factor采样颜色阈值,取值范围[0,16]。默认 4.0
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置。设置时需确保对应美颜特性开启

◆ SetPolishStep()

ZEGO_API bool ZEGO::LIVEROOM::SetPolishStep ( float  step,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置美颜磨皮的采样步长

Parameters
step采样步长,取值范围[1,16]。默认 4.0
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置。设置时需确保对应美颜特性开启

◆ SetPreviewRotation()

ZEGO_API bool ZEGO::LIVEROOM::SetPreviewRotation ( int  nRotation,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置预览渲染朝向

Parameters
nRotation旋转角度(0/90/180/270)。默认 0
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置

◆ SetPreviewView() [1/2]

ZEGO_API bool ZEGO::LIVEROOM::SetPreviewView ( const AV::ZegoView view,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置本地预览视图

Parameters
view用于渲染本地预览视频的视图
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SetPreviewView() [2/2]

ZEGO_API bool ZEGO::LIVEROOM::SetPreviewView ( void *  pView,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置本地预览视图

Parameters
pView用于渲染本地预览视频的视图
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SetPreviewViewBackgroundColor()

ZEGO_API bool ZEGO::LIVEROOM::SetPreviewViewBackgroundColor ( int  color,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置预览视频控件的背景颜色

Parameters
color颜色,取值为0x00RRGGBB
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SetPreviewViewMode()

ZEGO_API bool ZEGO::LIVEROOM::SetPreviewViewMode ( ZegoVideoViewMode  mode,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置本地预览视频视图的模式

Parameters
mode模式
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流开始前调用本 API 进行参数配置

◆ SetPreviewWaterMarkRect()

ZEGO_API void ZEGO::LIVEROOM::SetPreviewWaterMarkRect ( int  left,
int  top,
int  right,
int  bottom,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置水印在预览视频中的位置

Parameters
left左上角坐标的第一个元素
top左上角坐标的第二个元素,即左上角坐标为 (left, top)
right右下角坐标的第一个元素
bottom右下角坐标的第二个元素,即右下角坐标为 (right, bottom)
idx推流 channel Index. 默认为主Channel
Note
左上角为坐标系原点,区域不能超过 preview 的大小

◆ SetPublishDualStreamConfig()

ZEGO_API void ZEGO::LIVEROOM::SetPublishDualStreamConfig ( const AV::ZegoPublishDualStreamConfig configList,
int  configListCount,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置大小流编码配置

Attention
必须指定 SetVideoCodecId 为 VIDEO_CODEC_H264_DUAL_STREAM
Parameters
configList配置列表

◆ SetPublishEncryptKey()

ZEGO_API void ZEGO::LIVEROOM::SetPublishEncryptKey ( const unsigned char *  pKey,
int  nkeyLen,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置推流加密密钥

Parameters
pszKey加密密钥
nkeyLen密钥长度(支持16/24/32字节)
idx推流 channel Index. 默认为主Channel
Attention
在InitSDK之后调用

◆ SetPublishQualityMonitorCycle()

ZEGO_API bool ZEGO::LIVEROOM::SetPublishQualityMonitorCycle ( unsigned int  timeInMS)

设置推流质量监控周期

Parameters
timeInMS时间周期,单位为毫秒,取值范围为(500, 60000)。默认为 3000
Returns
true 成功,false 失败
Attention
必须在推流前调用才能生效。该设置会影响 ILivePublisherCallback::OnPublishQualityUpdate 的回调频率

◆ SetPublishStreamExtraInfo()

ZEGO_API bool ZEGO::LIVEROOM::SetPublishStreamExtraInfo ( const char *  pszStreamExtraInfo,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置或更新推流的附加信息

Parameters
pszStreamExtraInfo流附加信息, 最大为 1024 字节
idx推流 channel Index. 默认为主Channel
Returns
更新流附加信息成功后,同一房间内的其他人会收到 OnStreamExtraInfoUpdated 通知

◆ SetPublishWaterMarkRect()

ZEGO_API void ZEGO::LIVEROOM::SetPublishWaterMarkRect ( int  left,
int  top,
int  right,
int  bottom,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置水印在采集视频中的位置

Parameters
left左上角坐标的第一个元素
top左上角坐标的第二个元素,即左上角坐标为 (left, top)
right右下角坐标的第一个元素
bottom右下角坐标的第二个元素,即右下角坐标为 (right, bottom)
idx推流 channel Index. 默认为主Channel
Note
左上角为坐标系原点,区域不能超过编码分辨率设置的大小

◆ SetRealtimeSequentialDataCallback()

ZEGO_API void ZEGO::LIVEROOM::SetRealtimeSequentialDataCallback ( AV::IZegoRealtimeSequentialDataCallback callback)

设置实时有序数据回调

Parameters
callback回调接口,详见 AV::IZegoRealtimeSequentialDataCallback 类。

◆ SetRecvBufferLevelLimit()

ZEGO_API bool ZEGO::LIVEROOM::SetRecvBufferLevelLimit ( int  minBufferLevel,
int  maxBufferLevel,
const char *  streamID 
)

设置拉流播放缓存自适应调整的区间范围(上下限)

Parameters
minBufferLevel缓存自适应区间下限, 单位毫秒. 当 minBufferLevel <= 0 表示未设置下限.
maxBufferLevel缓存自适应区间上限, 单位毫秒. 当 maxBufferLevel <= 0 表示未设置上限. 当设置的上限超过4000时,会取值4000.
streamID流 ID
Returns
true 设置成功, false 设置失败
Note
调用时机为拉流前或者拉流中, 每次拉流都需要重新设置
上下限在未设置时, 内部默认区间范围 [0, 4000]
当设置的上限小于下限时,会自动将上限取值为下限

◆ SetRoomCallback()

ZEGO_API bool ZEGO::LIVEROOM::SetRoomCallback ( IRoomCallback pCB)

设置直播房间相关信息通知的回调

Parameters
pCB回调对象指针
Returns
true 成功,false 失败

◆ SetRoomConfig()

ZEGO_API bool ZEGO::LIVEROOM::SetRoomConfig ( bool  audienceCreateRoom,
bool  userStateUpdate,
const char *  pszRoomID = nullptr 
)

设置房间配置信息

Parameters
audienceCreateRoom观众是否可以创建房间。true 可以,false 不可以。默认 true
userStateUpdate用户状态(用户进入、退出房间)是否广播。true 广播,false 不广播。默认 false
pszRoomID房间 ID。
Returns
true 成功,false 失败
Note
在登录房间前调用有效。
userStateUpdate 为房间属性而非用户属性,设置的是该房间内是否会进行用户状态的广播。如果需要在房间内用户状态改变时,其他用户能收到通知,请为所有用户设置为 true;反之,设置为 false。设置为 true 后,方可从 OnUserUpdate 回调收到用户状态变更通知。
Attention
单房间模式,如果指定了 pszRoomID,就作用于这个房间,否则作用于其后登录的房间,退出房间后失效。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指明 pszRoomID,否则设置无效。

◆ SetRoomExtraInfo()

ZEGO_API int ZEGO::LIVEROOM::SetRoomExtraInfo ( const char *  pszKey,
const char *  pszValue,
const char *  pszRoomID = nullptr 
)

更新房间属性 登录房间成功后使用

Parameters
pszKey房间额外信息key值,不能超过 10字节, 不允许为空字符串, 一个房间内只允许1个消息类型
pszValue房间属性内容,不能超过 128 字节, 允许为空字符串
pszRoomID可选,房间 ID, 为 nullptr 时,表示往默认房间发送
Returns
发送序号 seq,-1 表示失败
Attention
单房间模式,设置 pszRoomID 为当前房间或者为空,都往当前房间发送。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定 pszRoomID,否则调用失败。

◆ SetRoomExtraInfoCallback()

ZEGO_API bool ZEGO::LIVEROOM::SetRoomExtraInfoCallback ( IRoomExtraInfoCallback pCB)

设置 RoomExtraInfo 通知的回调

Parameters
pCB回调对象指针
Returns
true 成功,false 失败

◆ SetRoomMaxUserCount()

ZEGO_API bool ZEGO::LIVEROOM::SetRoomMaxUserCount ( unsigned int  maxCount,
const char *  pszRoomID = nullptr 
)

设置房间最大在线人数

Parameters
maxCount最大人数
pszRoomID房间 ID。
Returns
true 成功,false 失败
Note
在登录房间前调用有效。
Attention
单房间模式,如果指定了 pszRoomID,就作用于这个房间,否则作用于其后登录的房间,退出房间后失效。
多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指明 pszRoomID,否则设置无效。

◆ SetRoomMode()

ZEGO_API bool ZEGO::LIVEROOM::SetRoomMode ( ZegoRoomMode  mode)

设置房间模式

Parameters
mode房间模式, 详见 ZegoRoomMode 定义,默认是单房间模式
Attention
必须在初始化 SDK 之前调用,否则会失败。
如果需要开启多房间模式,请与即构技术支持联系配置服务端支持。
Returns
true: 成功, false: 失败。

◆ SetRunLoopObserveCallback()

ZEGO_API void ZEGO::LIVEROOM::SetRunLoopObserveCallback ( void(*)(unsigned int taskId, AV::ZegoTaskType type, int taskDispatchTime, int taskRunTime, int taskTotalTime)  OnRunLoopObserveCallback)

设置SDK线程回调observe,将会回调SDK 主线程执行相关耗时 建议 外部static 函数

Parameters
OnRunLoopObserveCallbackobserve回调的callback
taskIdsdk主线程taskid
type任务类型 参见ZegoTaskType
taskDispatchTime任务调度消耗时间 单位ms
taskRunTime任务执行消耗时间 单位ms
taskTotalTime任务总耗时,单位ms 一般情况只需关注此时间即可
Attention
注意此非线程安全,外部不应该在回调线程做耗时操作。建议InitSDK 前调用 UnInitSDK会清除此回调

◆ SetSharpenFactor()

ZEGO_API bool ZEGO::LIVEROOM::SetSharpenFactor ( float  factor,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置锐化参数

Parameters
factor锐化参数,取值范围[0,2],值越大锐化越强。默认 0.2
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置。设置时需确保对应美颜特性开启

◆ SetStreamAlignmentProperty()

ZEGO_API int ZEGO::LIVEROOM::SetStreamAlignmentProperty ( int  alignment,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

为某个推流道通单独指定推流是否校准网络时间,用于混流时各路流的对齐

Parameters
alignment1设置,0 关闭
idx推流通道索引,默认主通道
Returns
0 表示成功,-1 为失败
Attention
InitSDK 后, 推流前后都可设置, 此方法依赖网络时间模块,且需要调用推流接口StartPublishingWithParams中推流,且参数 ZegoPublishStreamParams.forceSynchronousNetworkTime 为1开启网络时间同步

◆ SetThirdPartyFrameworkInfo()

ZEGO_API bool ZEGO::LIVEROOM::SetThirdPartyFrameworkInfo ( const char *  framework_info)

设置第三方框架信息

Parameters
framework_info框架信息,不超过 256 字节

◆ SetToken()

ZEGO_API bool ZEGO::LIVEROOM::SetToken ( const char *  pszToken,
const char *  pszRoomID 
)

设置房间的鉴权 token

Parameters
pszToken鉴权 token
pszRoomID房间 ID
Returns
true 成功,false 失败 @discussion 使用此函数验证登录及推流时用户的合法性,登录房间前调用,token的生成规则请联系即构。若不需要验证用户合法性,不需要调用此函数 @discussion 在登录房间前调用有效,支持登录后重置,退出房间后失效。

◆ SetTrafficControlFocusOn()

ZEGO_API void ZEGO::LIVEROOM::SetTrafficControlFocusOn ( enum AV::ZegoTrafficControlFocusOn  focusOn,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置触发流量控制的关注因素

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

◆ SetUser()

ZEGO_API bool ZEGO::LIVEROOM::SetUser ( const char *  pszUserID,
const char *  pszUserName 
)

设置用户信息

Parameters
pszUserID用户唯一 ID
pszUserName用户名字
Returns
true 成功,false 失败

◆ SetUseTestEnv()

ZEGO_API void ZEGO::LIVEROOM::SetUseTestEnv ( bool  bTestEnv)

设置是否使用测试环境

Parameters
bTestEnv测试环境

◆ SetVerbose()

ZEGO_API void ZEGO::LIVEROOM::SetVerbose ( bool  bVerbose)

设置是否开启调试信息

Parameters
bVerbose控制开关
Attention
建议SetLogDirAndSize后 initSDK前调用 , 启用后,控制台会输出用户调用信息,并且会在SDK日志目录生成 明文的用户可见的日志文件

◆ SetVideoBitrate()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoBitrate ( int  nBitrate,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置视频码率

Parameters
nBitrate码率,单位为bps
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SetVideoCaptureResolution()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoCaptureResolution ( int  nWidth,
int  nHeight,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置视频采集分辨率

Parameters
nWidth
nHeight
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SetVideoCodecId()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoCodecId ( AV::ZegoVideoCodecAvc  codecId,
AV::PublishChannelIndex  nChannel = AV::PUBLISH_CHN_MAIN 
)

设置选用编码格式

Parameters
codecId编码 ID
Returns
true 成功,false 失败

◆ SetVideoDevice()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoDevice ( const char *  pszDeviceID,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置选用视频设备

Parameters
pszDeviceID设备 ID
Returns
true 成功,false 失败
Note
在 initSDK 后调用有效

◆ SetVideoEncodeMode()

ZEGO_API void ZEGO::LIVEROOM::SetVideoEncodeMode ( AV::ZegoVideoEncodeMode  mode,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置视频编码模式

Parameters
mode视频编码模式,详见 AV::ZegoVideoEncodeMode。默认是 AV::ZEGO_VIDEO_ENCODE_MODE_LOW_DELAY。
idx推流通道,默认为 AV::PUBLISH_CHN_MAIN
Note
初始化 SDK 之后,推流之前设置有效,在开始推流后设置,下次推流生效。
AV::ZEGO_VIDEO_ENCODE_MODE_LOW_BITRATE 模式只在使用 x264 软件编码的情况下生效,需要通过 ZEGO 的特殊渠道发包才能指定 x264 编码器。

◆ SetVideoEncodeResolution()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoEncodeResolution ( int  nWidth,
int  nHeight,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置视频编码输出分辨率

Parameters
nWidth
nHeight
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SetVideoEncoderRateControlConfig()

ZEGO_API void ZEGO::LIVEROOM::SetVideoEncoderRateControlConfig ( AV::ZegoVideoEncoderRateControlStrategy  strategy,
int  encoderCRF,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置编码器码率控制策略

Parameters
strategy策略配置,参考 ZegoVideoEncoderRateControlStrategy
encoderCRF当策略为恒定质量(ZEGO_RC_VBR/ZEGO_RC_CRF)有效,取值范围 [0~51],越小质量越好,但是码率会相应变大。建议取值范围 [18, 28]
idx推流 channel Index. 默认为主Channel

◆ SetVideoFPS()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoFPS ( int  nFps,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置视频帧率

Parameters
nFps帧率
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Note
推流端设置60帧,拉流端生效需要联系技术支持

◆ SetVideoKeyFrameInterval()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoKeyFrameInterval ( int  nIntervalSecond,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置视频关键帧间隔

Parameters
nIntervalSecond关键帧间隔,单位为秒,默认2秒
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流开始前调用本 API 进行参数配置

◆ SetVideoMirrorMode()

ZEGO_API bool ZEGO::LIVEROOM::SetVideoMirrorMode ( AV::ZegoVideoMirrorMode  mode,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

是否启用预览和推流镜像

Parameters
mode镜像模式
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Note
默认启用预览镜像,不启用推流镜像

◆ SetVideoSource() [1/2]

ZEGO_API bool ZEGO::LIVEROOM::SetVideoSource ( AV::ZegoVideoSourceType  srcType,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_AUX 
)

设置采集视频源类型

Note
  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源类型,参见 ZegoVideoSourceType 定义
idx推流 channel Index. 默认为辅Channel
Returns
true 设置成功,false 设置失败

◆ SetVideoSource() [2/2]

ZEGO_API bool ZEGO::LIVEROOM::SetVideoSource ( AV::ZegoVideoSourceType  srcType,
unsigned int  instanceID,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_AUX 
)

设置采集视频源类型

Note
  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源类型,参见 ZegoVideoSourceType 定义
instanceID使用媒体播放器或屏幕共享采集源时,所使用的媒体播放器或屏幕共享实例 ID
idx推流 channel Index. 默认为辅Channel
Returns
true 设置成功,false 设置失败

◆ SetViewBackgroundColor()

ZEGO_API bool ZEGO::LIVEROOM::SetViewBackgroundColor ( int  color,
const char *  pszStreamID 
)

设置视频控件的背景颜色

Attention
  1. 必须在拉流 StartPlayingStream 或 StartPlayingStream2 后调用才有效,每次拉流都需要重新设置。
Parameters
color颜色,取值为0x00RRGGBB
pszStreamID播放流 ID
Returns
true 成功,false 失败

◆ SetViewMode()

ZEGO_API bool ZEGO::LIVEROOM::SetViewMode ( ZegoVideoViewMode  mode,
const char *  pszStreamID 
)

设置观看直播的 View 的模式

Attention
  1. 必须在拉流 StartPlayingStream 或 StartPlayingStream2 后调用才有效,每次拉流都需要重新设置
Note
  1. 一般在流播放、流新增、全屏切换等其他流尺寸可能变化的场合时调用。
Parameters
mode模式,默认 ZegoVideoViewModeScaleAspectFit
pszStreamID播放流 ID
Returns
true 成功,false 失败

◆ SetViewRotation()

ZEGO_API bool ZEGO::LIVEROOM::SetViewRotation ( int  nRotation,
const char *  pszStreamID 
)

设置播放渲染朝向

Attention
  1. 必须在拉流 StartPlayingStream 或 StartPlayingStream2 后调用才有效,每次拉流都需要重新设置。
Note
  1. 一般用于全屏切换、旋转设备时调用,调整播放方向。
Parameters
nRotation逆时针旋转角度(0/90/180/270)。默认 0
pszStreamID播放流 ID
Returns
true 成功,false 失败

◆ SetWaterMarkImagePath()

ZEGO_API void ZEGO::LIVEROOM::SetWaterMarkImagePath ( const char *  filePath,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置水印的图片路径

Parameters
filePath图片路径
idx推流 channel Index. 默认为主Channel
Attention
推流开始前调用本 API 进行参数配置

◆ SetWhitenFactor()

ZEGO_API bool ZEGO::LIVEROOM::SetWhitenFactor ( float  factor,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

设置美颜美白的亮度修正参数

Parameters
factor亮度修正参数,取值范围[0,1],值越大亮度越暗。默认 0.5
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
推流时可调用本 API 进行参数配置。设置时需确保对应美颜特性开启

◆ StartDumpData()

ZEGO_API void ZEGO::LIVEROOM::StartDumpData ( AV::ZegoDumpDataConfig  config)

开始转储数据

Parameters
config转储数据配置

◆ StartPlayingStream()

ZEGO_API bool ZEGO::LIVEROOM::StartPlayingStream ( const char *  pszStreamID,
void *  pView,
const char *  pszParams = 0 
)

播放多媒体流

Attention
  1. 调用此 API可播放直播流,必须在调用初始化 SDK 接口之后调用。
  2. 不支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom)。
Note
  1. 调用成功后,等待 ILivePlayerCallback::OnPlayStateUpdate 回调。
  2. 若中途收到 IRoomCallback::OnDisconnect 回调,则不会再收到 ILivePlayerCallback::OnPlayStateUpdate 回调。
Parameters
pszStreamID需要播放的用户流 ID
pView用来渲染播放视频的视图,设置为空时不显示视频,只播放音频
pszParams拉流参数
Returns
true 成功,false 失败

◆ StartPlayingStream2() [1/2]

ZEGO_API bool ZEGO::LIVEROOM::StartPlayingStream2 ( const char *  pszStreamID,
const AV::ZegoView pView,
ZegoStreamExtraPlayInfo *  info = nullptr 
)

根据用户配置的多媒体流附加信息,播放多媒体流

Attention
  1. 调用此 API可播放直播流,必须在调用初始化 SDK 接口之后调用。
  2. 不支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom)。
Note
  1. 调用成功后,等待 ILivePlayerCallback::OnPlayStateUpdate 回调。
  2. 若中途收到 IRoomCallback::OnDisconnect 回调,则不会再收到 ILivePlayerCallback::OnPlayStateUpdate 回调。
Parameters
pszStreamID需要播放的用户流 ID
pView用来渲染播放视频的视图,设置为空时不显示视频,只播放音频
info多媒体流附加信息,请参考 ZegoStreamExtraPlayInfo 定义
Returns
成功,false 失败

◆ StartPlayingStream2() [2/2]

ZEGO_API bool ZEGO::LIVEROOM::StartPlayingStream2 ( const char *  pszStreamID,
void *  pView,
ZegoStreamExtraPlayInfo *  info = nullptr 
)

根据用户配置的多媒体流附加信息,播放多媒体流

Attention
  1. 调用此 API可播放直播流,必须在调用初始化 SDK 接口之后调用。
  2. 不支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom)。
Note
  1. 调用成功后,等待 ILivePlayerCallback::OnPlayStateUpdate 回调。
  2. 若中途收到 IRoomCallback::OnDisconnect 回调,则不会再收到 ILivePlayerCallback::OnPlayStateUpdate 回调。
Parameters
pszStreamID需要播放的用户流 ID
pView用来渲染播放视频的视图,设置为空时不显示视频,只播放音频
info多媒体流附加信息,请参考 ZegoStreamExtraPlayInfo 定义
Returns
成功,false 失败

◆ StartPlayingStreamWithParams()

ZEGO_API bool ZEGO::LIVEROOM::StartPlayingStreamWithParams ( const ZegoPlayStreamParams playParams)

根据用户配置的多媒体流附加信息,播放多媒体流

Attention
  1. 调用此 API可播放直播流,必须在调用初始化 SDK 接口之后调用。
  2. 支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须指定房间 ID。
Note
  1. 调用成功后,等待 ILivePlayerCallback::OnPlayStateUpdate 回调。
  2. 若中途收到 IRoomCallback::OnDisconnect 回调,则不会再收到 ILivePlayerCallback::OnPlayStateUpdate 回调。
Parameters
playParams拉流参数
Returns
成功,false 失败

◆ StartPreview()

ZEGO_API bool ZEGO::LIVEROOM::StartPreview ( AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN)

启动本地预览

Parameters
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
启动本地预览前,要调用 LIVEROOM::SetPreviewView 设置本地预览视图

◆ StartPublishing()

ZEGO_API bool ZEGO::LIVEROOM::StartPublishing ( const char *  pszTitle,
const char *  pszStreamID,
int  flag,
const char *  pszParams = 0 
)

开始直播

Attention
  1. 调用此 API 推直播流,必须在调用初始化 SDK 接口之后调用。
  2. 不支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom)。
Note
  1. 推流成功后,等待 ILivePublisherCallback::OnPublishStateUpdate 回调
  2. 若中途收到 IRoomCallback::OnDisconnect 回调,则不会再收到 ILivePublisherCallback::OnPublishStateUpdate 回调。
Parameters
pszTitle直播名称
pszStreamID流 ID
flag直播属性,参考 ZegoPublishFlag
pszParams推流参数
Returns
true 成功,false 失败

◆ StartPublishing2()

ZEGO_API bool ZEGO::LIVEROOM::StartPublishing2 ( const char *  pszTitle,
const char *  pszStreamID,
int  flag,
const char *  pszParams = 0,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

开始直播

Attention
  1. 调用此 API 推直播流,必须在调用初始化 SDK 接口之后调用。
  2. 不支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom)。
Note
  1. 推流成功后,等待 ILivePublisherCallback::OnPublishStateUpdate 回调
  2. 若中途收到 IRoomCallback::OnDisconnect 回调,则不会再收到 ILivePublisherCallback::OnPublishStateUpdate 回调
  3. 调用此接口 SetMixStreamConfig 无效,混流需要调用 MixStreamEx。
Parameters
pszTitle直播名称
pszStreamID流 ID
flag直播属性,参考 ZegoPublishFlag
pszParams推流参数
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ StartPublishingWithParams()

ZEGO_API bool ZEGO::LIVEROOM::StartPublishingWithParams ( const ZegoPublishStreamParams streamParams)

开始直播

Attention
  1. 调用此 API 推直播流,必须在调用初始化 SDK 接口之后调用。
  2. 支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom),必须明确指定房间 ID。
Note
  1. 推流成功后,等待 ILivePublisherCallback::OnPublishStateUpdate 回调
  2. 若中途收到 IRoomCallback::OnDisconnect 回调,则不会再收到 ILivePublisherCallback::OnPublishStateUpdate 回调
  3. 调用此接口 SetMixStreamConfig 无效,混流需要调用 MixStreamEx。
Parameters
streamParams推流参数
Returns
true 成功,false 失败

◆ StopDumpData()

ZEGO_API void ZEGO::LIVEROOM::StopDumpData ( )

结束转储数据

◆ StopPlayingStream()

ZEGO_API bool ZEGO::LIVEROOM::StopPlayingStream ( const char *  pszStreamID)

停止播放流

Parameters
pszStreamID需要停止播放的用户流 ID
Returns
true 成功,false 失败

◆ StopPreview()

ZEGO_API bool ZEGO::LIVEROOM::StopPreview ( AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN)

结束本地预览

Parameters
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败
Attention
建议停止推流,或本地预览结束后,调用该 API 停止本地预览

◆ StopPublishing()

ZEGO_API bool ZEGO::LIVEROOM::StopPublishing ( int  flag = 0,
const char *  pszMsg = 0,
AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN 
)

停止直播

Parameters
flag保留字段
pszMsg自定义信息,server 对接流结束回调包含此字段内容
idx推流 channel Index. 默认为主Channel
Returns
true 成功,false 失败

◆ SwitchRoom() [1/2]

ZEGO_API bool ZEGO::LIVEROOM::SwitchRoom ( const char *  fromRoomID,
const char *  toRoomID,
int  role,
const char *  toRoomName = "" 
)

切换房间

Parameters
fromRoomID要退出的房间 ID
toRoomID要登录的房间 ID
role要登录房间的成员角色, 参见 ZegoRoomRole
toRoomName要登录房间的房间名称
Returns
true 成功,false 失败
Attention
登录房间成功后,需要快速切换到其它房间时使用,切换结果回调OnLoginRoom。
同时支持单房间模式和多房间模式。
调用成功会停止房间 fromRoomID 的所有推拉流。

◆ SwitchRoom() [2/2]

ZEGO_API bool ZEGO::LIVEROOM::SwitchRoom ( const char *  pszRoomID,
int  role,
const char *  pszRoomName = "" 
)

切换房间

Parameters
pszRoomID房间 ID
role成员角色, 参见 ZegoRoomRole
pszRoomName房间名称
Returns
true 成功,false 失败
Attention
登录房间成功后,需要快速切换到其它房间时使用,切换结果回调OnLoginRoom。
不支持多房间模式(通过 SetRoomMode 接口开启 ZegoRoomModeMultiRoom)。
调用成功会停止调用该接口之前的推拉流。

◆ TakeSnapshot()

ZEGO_API bool ZEGO::LIVEROOM::TakeSnapshot ( const char *  pszStreamID)

对观看直播视图进行截图

Attention
  1. 必须在拉流 StartPlayingStream 或 StartPlayingStream2 后调用才有效。
Note
  1. 截图成功后,通过回调 ILivePlayerCallback::OnSnapshot 返回结果。
Parameters
pszStreamID需要截图的流 ID
Returns
true 成功,false 失败

◆ TakeSnapshotPreview()

ZEGO_API bool ZEGO::LIVEROOM::TakeSnapshotPreview ( AV::PublishChannelIndex  idx = AV::PUBLISH_CHN_MAIN)

截预览图

Parameters
idx推流 channel Index. 默认为主Channel
Returns
true 成功,通过回调返回结果,false 失败

◆ UnInitSDK()

ZEGO_API bool ZEGO::LIVEROOM::UnInitSDK ( )

反初始化 SDK

Returns
true 成功,false 失败

◆ UpdatePlayDecryptKey()

ZEGO_API void ZEGO::LIVEROOM::UpdatePlayDecryptKey ( const char *  pszStreamID,
const unsigned char *  pKey,
int  nkeyLen 
)

设置拉流解密密钥(只用于拉流之后更新密钥)

Parameters
pszStreamID需要设置密钥的用户流 ID
pszKey解密密钥
nkeyLen密钥长度(支持16/24/32字节)
Attention
在拉流之后调用

◆ UpdatePlayToken()

ZEGO_API bool ZEGO::LIVEROOM::UpdatePlayToken ( const char *  pszStreamID,
const unsigned char *  token,
int  tokenlen 
)

StartPlayingStream2 或 StartPlayingStreamWithParams 设置的Token即将过期,调用该 API 变更。

Attention
拉流之后调用,若拉流时未设 appid,该接口无效。
Parameters
pszStreamID需要更新 Token 的流 ID
token设置的 Token
tokenlenToken 的长度
Returns
true 成功,false 失败

◆ UpdatePlayView() [1/2]

ZEGO_API bool ZEGO::LIVEROOM::UpdatePlayView ( const AV::ZegoView view,
const char *  streamID 
)

更新播放视图

Attention
  1. 调用 StartPlayingStream 播放流成功以后,如果要切换流播放 View 或者停止显示流画面,调用该 API 变更。
Parameters
view播放视图,设置为空时不显示视频,只播放音频
streamID需要更新视图的用户流 ID
Returns
true 成功,false 失败

◆ UpdatePlayView() [2/2]

ZEGO_API bool ZEGO::LIVEROOM::UpdatePlayView ( void *  pView,
const char *  pszStreamID 
)

更新播放视图

Attention
  1. 调用 StartPlayingStream 播放流成功以后,如果要切换流播放 View 或者停止显示流画面,调用该 API 变更。
Parameters
pView播放视图,设置为空时不显示视频,只播放音频
pszStreamID需要更新视图的用户流 ID
Returns
true 成功,false 失败

◆ UploadDumpData()

ZEGO_API void ZEGO::LIVEROOM::UploadDumpData ( )

上传转储数据到 ZEGO 服务器

◆ UploadLog()

ZEGO_API void ZEGO::LIVEROOM::UploadLog ( )

上传日志

Variable Documentation

◆ kInvalidSeq

const int ZEGO::LIVEROOM::kInvalidSeq = -1

◆ kZegoVideoDataAuxPublishingStream

ZEGO_API const char* ZEGO::LIVEROOM::kZegoVideoDataAuxPublishingStream
extern

◆ kZegoVideoDataMainPublishingStream

ZEGO_API const char* ZEGO::LIVEROOM::kZegoVideoDataMainPublishingStream
extern