C++SDK  1.0.0
livecast.h
浏览该文件的文档.
1 #ifndef RT_ILivecast_H_
2 #define RT_ILivecast_H_
3 
4 #include "common.h"
5 #include "easyroom.h"
6 #include "videorender.h"
7 #include "videocapture.h"
8 #include "audiocapture.h"
9 
10 namespace tee3 {
11  namespace avd {
12 
19  public:
25  class IListener {
26  public:
28 
33  virtual void onStatus(LivecastStatus status) = 0;
38  virtual void onConnectionStatus(ConnectionStatus status) = 0;
44  virtual void onStreamlast3Stats(int videofps, int avbps) = 0;
50  virtual void onError(Result error, const String& message) = 0;
51  protected:
52  virtual ~IListener() {}
53  };
54 
55  public:
60  static Result setLivecastId(const RoomId& castId);
61  static const RoomId& getLivecastId();
67  static ILivecast* Instance();
70  static void release();
71 
78  virtual Result init(IListener* listener) = 0;
82  virtual Result uninit() = 0;
83 
84  public:
89  virtual LivecastStatus getStatus() const = 0;
90 
96  virtual Result setDisplayView(IVideoRender* render) = 0;
97 
102  virtual Result setVideoParams(const VideoParams& param) = 0;
103  virtual VideoParams getVideoParams() const = 0;
108  virtual Result setAudioParams(const AudioParams& param) = 0;
109  virtual AudioParams getAudioParams() const = 0;
110 
117  virtual Result setVideoSource(FakeVideoCapturer* vcapturer) = 0;
124  virtual Result setAudioSource(FakeAudioCapturer* acapturer) = 0;
125 
129  virtual Result startPreview() = 0;
133  virtual Result stopPreview() = 0;
137  virtual Result switchCamera() = 0;
138 
142  virtual bool isMicrophoneMute() const = 0;
146  virtual Result muteMicrophone() = 0;
150  virtual Result unmuteMicrophone() = 0;
151 
159  virtual Result captureImage(const String& fileName, int quality) = 0;
160 
166  virtual Result shareScreen(bool isOn) = 0;
167 
173  virtual Result publisRTMP(const String& pushUrl) = 0;
178  virtual Result unpublish() = 0;
179 
180  public:
187  virtual Result setOption(RoomOption type, const String& value) = 0;
193  virtual String getOption(RoomOption type) = 0;
194 
195  public:
199  virtual bool isInRoom() const = 0;
210  virtual Result attachRoom(IEasyRoom* room) = 0;
214  virtual Result detachRoom() = 0;
215 
216  protected:
217  virtual ~ILivecast() {}
218  };
219 
220  } // namespace avd
221 } // namespace tee3
222 #endif//RT_ILivecast_H_
Definition: common.h:526
NAMESPACE_TEE3_BEGIN typedef std::string String
Definition: common.h:10
Definition: audiocapture.h:12
Definition: livecast.h:18
Definition: videocapture.h:15
int Result
Definition: combase.h:13
#define RT_API_EXPORT
Definition: defines.h:188
virtual ~IListener()
Definition: livecast.h:52
Definition: easyroom.h:21
Definition: common.h:106
Definition: videorender.h:85
LivecastStatus
Definition: combase.h:514
String RoomId
Definition: common.h:11
ConnectionStatus
Definition: combase.h:230
Definition: audiocapture.h:5
virtual ~ILivecast()
Definition: livecast.h:217
RoomOption
Definition: combase.h:423
Definition: livecast.h:25