音视频通讯SDK API参考手册  Windows 1.6.0
av_video_ctrl.h
1 #ifndef AV_VIDEO_CTRL_H_
2 #define AV_VIDEO_CTRL_H_
3 
4 #include "av_common.h"
5 
6 #if defined(ANDROID)
7 #include <jni.h>
8 #endif
9 
10 namespace tencent {
11 namespace av {
12 
19  VIDEO_CODEC_TYPE_H264 = 5, // h264
20 };
21 
27 struct CameraInfo {
28  std::string device_id;
29  uint32 width;
30  uint32 height;
31  uint32 fps;
32 };
33 
39 class AV_EXPORT AVVideoCtrl {
40  public:
41  virtual ~AVVideoCtrl() {}
42 
48  virtual std::string GetQualityTips() = 0;
49 
57  virtual bool SetExternalCapAbility(CameraInfo* pinfo) = 0;
58 
59 #if defined(ANDROID) || defined(TARGET_OS_IPHONE)
60  //摄像头设备相关
61  typedef void (*EnableCameraCompleteCallback)(bool is_enable, int ret_code, void* custom_data);
62  typedef void (*SwitchCameraCompleteCallback)(int camera_id, int ret_code, void* custom_data);
63 
77  virtual int EnableCamera(int camera_id, bool is_enable, EnableCameraCompleteCallback callback, void* custom_data) = 0;
78 
92  virtual int SwitchCamera(int camera_id, SwitchCameraCompleteCallback callback, void* custom_data) = 0;
93 
102  virtual int GetCameraNum() = 0;
103 
112  virtual void SetRotation(int rotation) = 0;
113 
114 #if defined(ANDROID)
115  virtual void SetCameraPara(jobject cameraPara) = 0;
116 
117  virtual jobject GetCameraPara() = 0;
118 #endif
119 
134  virtual bool SetLocalVideoPreviewCallback(AVSupportVideoPreview::PreviewCallback callback, void *custom_data) = 0;
135 
136 
152  virtual bool SetRemoteVideoPreviewCallback(AVSupportVideoPreview::PreviewCallback callback, void *custom_data) = 0;
153 
169  virtual bool SetRemoteScreenVideoPreviewCallback(AVSupportVideoPreview::PreviewCallback callback, void *custom_data) = 0;
170 
171  //外部视频捕获设备相关
172  typedef void (*EnableExternalCaptureCompleteCallback)(bool, int, void*);
173 
183  virtual int EnableExternalCapture(bool is_enable, EnableExternalCaptureCompleteCallback callback,
184  void* custom_data) = 0;
185 
198  virtual int FillExternalCaptureFrame(VideoFrame &frame) = 0;
199 
200 #endif
201 };
202 
203 } // namespace av
204 } // namespace tencent
205 
206 #endif // #ifndef AV_VIDEO_CTRL_H_
Definition: av_audio_ctrl.h:6
VideoCodecType
视频编码器类型。
Definition: av_video_ctrl.h:18
Definition: av_video_ctrl.h:19
uint32 height
采集画面高度
Definition: av_video_ctrl.h:30
virtual ~AVVideoCtrl()
Definition: av_video_ctrl.h:41
视频帧。
Definition: av_common.h:207
视频控制器的封装类。
Definition: av_video_ctrl.h:39
std::string device_id
摄像头设备id
Definition: av_video_ctrl.h:28
摄像头信息。
Definition: av_video_ctrl.h:27
uint32 width
采集画面宽度
Definition: av_video_ctrl.h:29
uint32 fps
采集帧率
Definition: av_video_ctrl.h:31
void(* PreviewCallback)(VideoFrame *video_frame, void *custom_data)
SetPreviewCallback()的回调函数。
Definition: av_device.h:337