C++SDK  1.0.0
mvideomixer.h
浏览该文件的文档.
1 #ifndef RT_VideoMixer_H_
2 #define RT_VideoMixer_H_
3 
4 #include "common.h"
5 #include "videorender.h"
6 
7 namespace tee3 {
8  namespace avd {
9  class ILivecast;
10  class IVideoRender;
11 
18  public:
26  virtual Result setMixerTypeaSize(MixerVideoLayoutType layout, int width, int height) = 0;
31  virtual Result setScaleType(IVideoRenderView::ScalingType scale) = 0;
36  virtual Result setBackgroud(const String& background) = 0;
41  virtual void clearSubVideos() = 0;
42 
43  //自动布局(layout auto):设置自动布局参数和主视频后,sdk自动来布局子视频组合成直播视频
50  virtual Result setMainVideo(const UserId& userId) = 0;
61  virtual Result autoLayoutParams(bool isTopdown, float w, float h, float x_begin, float y_begin) = 0;
62 
63  //手动布局(layout manual):完全手动布局整个直播视频,可以将一个个子视频排布在直播视频的任意位置
75  virtual Result addSubVideo(const UserId& userId) = 0;
76  virtual Result addSubVideo(const UserId& userId, int zorder, float x, float y, float w, float h) = 0;
87  virtual Result updateSubVideo(const UserId& userId, int zorder, float x, float y, float w, float h) = 0;
93  virtual void removeSubVideo(const UserId& userId) = 0;
94 
95  protected:
96  virtual ~IMVideoMixer() {}
97  };
98 
99  } // namespace avd
100 } // namespace tee3
101 #endif//RT_VideoMixer_H_
Definition: mvideomixer.h:17
NAMESPACE_TEE3_BEGIN typedef std::string String
Definition: common.h:10
String UserId
Definition: common.h:13
int Result
Definition: combase.h:13
#define RT_API_EXPORT
Definition: defines.h:188
ScalingType
Definition: videorender.h:200
MixerVideoLayoutType
Definition: combase.h:523
virtual ~IMVideoMixer()
Definition: mvideomixer.h:96
Definition: audiocapture.h:5