5 #include "av_device_base.h"
13 #define DEVICE_UNKNOWN "\\unknown" // Unknown device type.
16 #define DEVICE_VIDEO "\\video" // Video device type.
17 #define DEVICE_CAMERA "\\video\\camera" // Camera device type.
18 #define DEVICE_REMOTE_VIDEO "\\video\\remote_video" // The virtual remote video output device.
19 #define DEVICE_EXTERNAL_CAPTURE "\\video\\external_capture" //external capture device type.
22 #define DEVICE_AUDIO "\\audio" // Audio device type.
23 #define DEVICE_MIC "\\audio\\mic" // Mic device type.
24 #define DEVICE_PLAYER "\\audio\\player" // Sound player device type.
25 #define DEVICE_ACCOMPANY "\\audio\\accompany" // Audio Accompany device type.
26 #define DEVICE_REMOTE_AUDIO "\\audio\\remote_audio" // The virtual remote audio output device.
27 #define DEVICE_MIX "\\audio\\mix" // Mix device
28 #define DEVICE_MIX_INPUT "\\audio\\mix\\input" // Input mix device
29 #define DEVICE_MIX_OUTPUT "\\audio\\mix\\output" // Output mix device
36 #define MIN_AUDIO_DEVICE_VOLUME 0
39 #define MAX_AUDIO_DEVICE_VOLUME 100
65 virtual uint32 GetVolume() = 0;
78 virtual void SetVolume(uint32 value) = 0;
87 virtual uint32 GetDynamicVolume() = 0;
91 typedef void(*FrameDataCallback)(
AudioFrame* audio_frame,
void* custom_data);
93 virtual void SetFrameDataCallback(FrameDataCallback frame_callback,
void* custom_data = NULL) = 0;
95 virtual FrameDataCallback GetFrameDataCallback() = 0;
97 virtual void* GetFrameCustomData() = 0;
118 typedef void(*PreviewCallback)(
AudioFrame* audio_frame,
void* custom_data);
128 virtual void SetPreviewCallback(PreviewCallback frame_callback,
void* custom_data = NULL) = 0;
130 virtual PreviewCallback GetPreviewCallback() = 0;
132 virtual void* GetPreviewCustomData() = 0;
195 AV_ACCOMPANY_SOURCE_TYPE_NONE = 0,
196 AV_ACCOMPANY_SOURCE_TYPE_SYSTEM = 1,
197 ACCOMPANY_SOURCE_TYPE_PROCESS = 2,
215 virtual void SetSource(std::string player_path, std::string media_file_path, SourceType source_type) = 0;
222 virtual SourceType GetSourceType() = 0;
229 virtual std::string GetPlayerPath() = 0;
236 virtual std::string GetMediaFilePath() = 0;
265 virtual bool AddDevice(std::string device_id) = 0;
274 virtual bool RemoveDevice(std::string device_id) = 0;
281 virtual int32 GetDeviceCount() = 0;
288 virtual std::vector<std::string> GetDeviceIdList() = 0;
318 typedef void(*FrameDataCallback)(
VideoFrame* video_frame,
void* custom_data);
320 virtual void SetFrameDataCallback(FrameDataCallback frame_callback,
void* custom_data = NULL) = 0;
322 virtual FrameDataCallback GetFrameDataCallback() = 0;
324 virtual void* GetFrameCustomData() = 0;
355 typedef void(*PreviewCallback)(
VideoFrame* video_frame,
void* custom_data);
365 virtual void SetPreviewCallback(PreviewCallback frame_callback,
void* custom_data = NULL) = 0;
378 virtual int SetPreviewParam(std::string
id, uint32 width, uint32 height,
ColorFormat color_format) = 0;
380 virtual PreviewCallback GetPreviewCallback() = 0;
382 virtual void* GetPreviewCustomData() = 0;
393 typedef void(*PreTreatmentFun)(
VideoFrame* video_frame,
void* custom_data);
403 virtual void SetPreTreatmentFun(PreTreatmentFun pre_fun,
void* custom_data = NULL) = 0;
429 virtual void OnRenderFrame(
const std::string& identifier,
void* custom_data) = 0;
432 virtual void SetDelegate(Delegate* delegate,
void* custom_data = NULL) = 0;
460 virtual void* GetPreviewLayer() = 0;
469 virtual void* GetCameraSession() = 0;
484 #if defined(TARGET_OS_IPHONE)
485 virtual void* GetPreviewLayer() = 0;
488 virtual int OnCaptureFrame(
VideoFrame &frame) = 0;
494 #endif // #ifndef AV_DEVICE_H_
Definition: av_audio_ctrl.h:6
远端视频设备的封装类。
Definition: av_device.h:413
视频预览能力的封装类。
Definition: av_device.h:337
VideoSrcType
视频源类型。
Definition: av_common.h:122
virtual ~Delegate()
Definition: av_device.h:419
视频设备封装类的基类。
Definition: av_device.h:316
远程视频设备委托的抽象基类,App需要实现其成员函数来监听远程视频设备的事件。
Definition: av_device.h:418
Definition: av_device.h:300
Definition: av_device.h:339
视频预处理能力的封装类。
Definition: av_device.h:391
ColorFormat
色彩格式。
Definition: av_common.h:106
音频帧。
Definition: av_common.h:89
远端音频设备的封装类。
Definition: av_device.h:142
视频帧。
Definition: av_common.h:157
uint32 height
Definition: av_device.h:342
SourceType
伴奏源类型。
Definition: av_device.h:194
ColorFormat color_format
Definition: av_device.h:343
uint32 width
Definition: av_device.h:341
伴奏设备。
Definition: av_device.h:185
音频设备封装类的基类。
Definition: av_device.h:53
VideoSrcType src_type
Definition: av_device.h:344
音视频设备封装类的基类。
Definition: av_device_base.h:18
外部视频捕获设备。
Definition: av_device.h:480
std::string device_id
Definition: av_device.h:340
摄像头的封装类。
Definition: av_device.h:442
软件混音器。
Definition: av_device.h:254
音频预览能力的封装类。
Definition: av_device.h:108
麦克风的封装类。
Definition: av_device.h:156
音频播放设备的封装类。
Definition: av_device.h:170