mermaid测试
classDiagram
IZegoExpressEngine <|-- ZegoMixerTask
IZegoExpressEngine : +startMixerTask(ZegoMixerTask task,ZegoMixerStartCallback callback)
ZegoMixerTask <|-- ZegoMixerAudioConfig : audioConfig
ZegoMixerTask <|-- ZegoMixerVideoConfig : videoConfig
ZegoMixerTask <|-- ZegoMixerInput : inputList
ZegoMixerTask <|-- ZegoMixerOutput : outputList
ZegoMixerTask <|-- ZegoStreamAlignmentMode : streamAlignmentMode
ZegoMixerTask <|-- ZegoWatermark: ZegoWatermark
ZegoMixerInput <|-- ZegoMixerInputContentType : contentType
ZegoMixerAudioConfig<|-- ZegoAudioChannel : channel
ZegoMixerAudioConfig<|-- ZegoAudioCodecID: codecID
ZegoMixerAudioConfig<|-- ZegoAudioMixMode: mixMode
class ZegoMixerTask{
+String taskID
+int backgroundColor
+String backgroundImageURL
+bool enableSoundLevel
+const unsigned char* userData
+const unordered_map<std::string, std::string> advancedConfig
+ZegoMixerAudioConfig audioConfig
+ZegoMixerVideoConfig videoConfig
+ZegoMixerInput inputList
+ZegoMixerOutput outputList
+ZegoWatermark watermark
+ZegoMixerVideoConfig videoConfig
+ZegoMixerInput inputList
+ZegoMixerOutput outputList
+ZegoStreamAlignmentMode streamAlignmentMode
+ZegoMixerTask(std::string taskID=""): taskID(taskID), watermark(nullptr),\n backgroundColor(0), enableSoundLevel(false), \nstreamAlignmentMode(ZEGO_STREAM_ALIGNMENT_MODE_NONE),\n userData(nullptr), userDataLength(0)
}
class ZegoMixerAudioConfig{
+int bitrate -- default 48 kbps
+ZegoAudioChannel channel -- default Mono 单声道
+ZegoAudioCodecID codecID -- default ZegoAudioCodecIDDefault
+ZegoAudioMixMode mixMode
+ZegoMixerAudioConfig:bitrate(48), channel(ZEGO_AUDIO_CHANNEL_MONO),\n codecID(ZEGO_AUDIO_CODEC_ID_DEFAULT), mixMode(ZEGO_AUDIO_MIX_MODE_RAW)
+ZegoMixerAudioConfig(int bitrate, ZegoAudioChannel channel, ZegoAudioCodecID codecID): \nbitrate(bitrate), channel(channel), codecID(codecID), mixMode(ZEGO_AUDIO_MIX_MODE_RAW)
}
class ZegoMixerVideoConfig{
+int width
+int height
+int fps
+int bitrate
+ZegoMixerVideoConfig: width(640), height(360), fps(15), bitrate(600)
+ZegoMixerVideoConfig(int width, int height, int fps, int bitrate):\n width(width), height(height), fps(fps), bitrate(bitrate)
}
class ZegoMixerInput{
+String streamID
+ZegoMixerInputContentType contentType
+ZegoRect layout
+unsigned int soundLevelID
+unsigned int volume -- default 100 [0, 200]
+bool isAudioFocus
+int audioDirection 有效的朝向是 [0, 360]。-1 表示关闭该功能。默认是 -1
+unsigned int volume -- default 100 [0, 200]
+ZegoMixerVideoConfig: width(640), height(360), fps(15), bitrate(600)
+ZegoMixerVideoConfig(int width, int height, int fps, int bitrate):\n width(width), height(height), fps(fps), bitrate(bitrate)
}
class ZegoMixerOutput{
+String target
+ZegoMixerOutputVideoConfig videoConfig
+ZegoMixerOutput : videoConfig()
+ZegoMixerOutput(std::string target) : \ntarget(target), videoConfig())
}
class ZegoWatermark{
+String imageURL
+ZegoRect layout
+ZegoWatermark()
+ZegoWatermark(std::string imageURL, ZegoRect layout) \n:imageURL(imageURL), layout(layout)
}
class ZegoStreamAlignmentMode{
<<enumeration>>
ZegoStreamAlignmentModeNone=(0)
ZegoStreamAlignmentModeTry=(1)
}
class ZegoAudioChannel{
<<enumeration>>
ZegoAudioChannelUnknown=(0)
ZegoAudioChannelMono=(1)
ZegoAudioChannelStereo=(2)
}
class ZegoAudioCodecID{
<<enumeration>>
ZegoAudioCodecIDDefault=(0)
ZegoAudioCodecIDNormal=(1)
ZegoAudioCodecIDNormal2=(2)
ZegoAudioCodecIDNormal3=(3)
ZegoAudioCodecIDLow=(4)
ZegoAudioCodecIDLow2=(5)
ZegoAudioCodecIDLow3=(6)
}
class ZegoAudioMixMode{
<<enumeration>>
ZegoAudioMixModeRaw=(0)
ZegoAudioMixModeFocused=(1)
}