C++SDK  1.0.0
mlocalrecord.h
浏览该文件的文档.
1 #ifndef RT_ILocalRecord_H_
2 #define RT_ILocalRecord_H_
3 
4 #include "common.h"
5 #include "room.h"
6 
7 namespace tee3 {
8  namespace avd {
9  class IMixRecorder;
10 
17  public:
22  public:
36  virtual void videoStreamOut(const String& recHandle, uint64 timestamp_ns, unsigned int w, unsigned int h, bool isKeyFrame, const uint8 *data, unsigned int len) = 0;
37 
51  virtual void audioStreamOut(const String& recHandle, uint64 timestamp_ns, int sampleRate, int channels, const uint8 *data, unsigned int len) = 0;
52  protected:
53  virtual ~StreamOut() {}
54  };
61  static IMLocalRecord* getRecord(IRoom* room);
69  virtual Result createRecorder(const String& filePath, String& recorderId, bool continueDecode=true) = 0;
77  virtual Result createRecorder(StreamOut* out, String& recorderId, bool continueDecode=true) = 0;
87  virtual Result selectVideo4Recorder(const String& recorderId, const String& deviceId) = 0;
95  virtual Result selectAudio4Recorder(const String& recorderId, const UserId& userId) = 0;
102  virtual Result selectAllAudio4Recorder(const String& recorderId) = 0;
109  virtual Result selectAllAudioWithoutMe4Recorder(const String& recorderId) = 0;
116  virtual Result stopRecorder(const String& recorderId) = 0;
121  virtual Result stopRecorderAll() = 0;
122  //
123  virtual IMixRecorder* getMixRecorder() = 0;
124  protected:
125  virtual ~IMLocalRecord() {}
126  };
127 
129  public:
130  virtual String tmsFile() const = 0;
131 
132  virtual Result initTmsFile(const String& filePath) = 0;
133 
134  virtual Result setBackgroud(const String& background) = 0;
135 
136  virtual Result setMixerSize(int width, int height) = 0;
137 
138  virtual Result addMetaData(const String& mtag, const String& value) = 0;
139 
140  virtual Result addmodVideo(const DeviceId& deviceId, int zorder, float x, float y, float w, float h) = 0;
141 
142  virtual void removeVideo(const DeviceId& deviceId) = 0;
143 
144  virtual void clearVideos() = 0;
145 
146  //
147  virtual Result start() = 0;
148 
149  virtual Result pause() = 0;
150 
151  virtual Result stop() = 0;
152 
153  protected:
154  virtual ~IMixRecorder() {}
155  };
156 
157  } // namespace avd
158 } // namespace tee3
159 #endif//RT_ILocalRecord_H_
virtual ~StreamOut()
Definition: mlocalrecord.h:53
NAMESPACE_TEE3_BEGIN typedef std::string String
Definition: common.h:10
Definition: mlocalrecord.h:128
String UserId
Definition: common.h:13
int Result
Definition: combase.h:13
String DeviceId
Definition: common.h:12
Definition: room.h:17
#define RT_API_EXPORT
Definition: defines.h:188
Definition: room.h:366
unsigned long long uint64
Definition: defines.h:382
virtual ~IMixRecorder()
Definition: mlocalrecord.h:154
virtual ~IMLocalRecord()
Definition: mlocalrecord.h:125
unsigned char uint8
Definition: defines.h:397
Definition: mlocalrecord.h:16
Definition: audiocapture.h:5
Definition: mlocalrecord.h:21