cn.tee3.avd_SDK-C++  2.1.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: audiocapture.h:12
简易房间接口类
Definition: easyroom.h:21
int Result
返回值类型
Definition: combase.h:9
视频渲染接口类
Definition: videorender.h:69
#define RT_API_EXPORT
Definition: defines.h:186
std::string String
tee3定义的String类型
Definition: common.h:10
virtual ~IListener()
Definition: livecast.h:52
视频流导入接口.
Definition: videocapture.h:15
virtual ~ILivecast()
Definition: livecast.h:217
LivecastStatus
客户端直播状态定义
Definition: combase.h:479
String RoomId
房间号类型,唯一标识房间内一个房间,长度不大于Max_RoomId定义;定义如下:[RId_P|T_H|F_P|M_type_guid];...
Definition: common.h:11
视频采集信息结构.
Definition: common.h:96
直播接口类
Definition: livecast.h:18
ConnectionStatus
房间网络状态
Definition: combase.h:218
音频参数结构.
Definition: common.h:526
直播回调接口类
Definition: livecast.h:25
Definition: audiocapture.h:5
RoomOption
房间选项
Definition: combase.h:388