音视频通讯SDK API参考手册  iOS 1.6.0
QAVVideoCtrl.h
1 //
2 // QAVVideoCtrl.h
3 // QAVSDK
4 //
5 // Created by xianhuan on 15/5/30.
6 // Copyright (c) 2015年 xianhuan. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import <AVFoundation/AVFoundation.h>
11 #import "QAVCommon.h"
12 #import "QAVError.h"
13 
18 typedef void(^cameraOptionComplete)(int result);
19 
20 
22 typedef NS_ENUM(NSInteger, cameraPos){
23  CameraPosFront = 0,
24  CameraPosBack = 1,
25 };
26 
27 
31 @protocol QAVRemoteVideoDelegate <NSObject>
32 @required
33 
39 -(void)OnVideoPreview:(QAVVideoFrame*)frameData;
40 @end
41 
45 @protocol QAVScreenVideoDelegate <NSObject>
46 @required
47 
52 -(void)OnVideoPreview:(QAVVideoFrame*)frameData;
53 @end
54 
58 @protocol QAVLocalVideoDelegate <NSObject>
59 @required
64 -(void)OnLocalVideoPreview:(QAVVideoFrame*)frameData;
65 @end
66 
67 
71 @interface QAVVideoCtrl : NSObject{
72 
73 }
74 @property(assign, nonatomic)BOOL isCameraOn;
75 @property(assign, nonatomic)BOOL isEnableExternalCapture;
76 
77 
78 
88 -(QAVResult)switchCamera:(cameraPos)pos complete:(cameraOptionComplete)block;
89 
99 -(QAVResult)enableCamera:(BOOL)bEnable complete:(cameraOptionComplete)block;
100 
106 -(NSString*)getQualityTips;
107 
113 -(void)setRemoteVideoDelegate:(id<QAVRemoteVideoDelegate>)delegate;
114 
120 -(void)setLocalVideoDelegate:(id<QAVLocalVideoDelegate>)delegate;
121 
127 -(void)setScreenVideoDelegate:(id<QAVScreenVideoDelegate>)delegate;
128 
134 -(void)setExternalCamAbility:(QAVCameraInfo*)info;
135 
148 -(int)fillExternalCaptureFrame:(QAVVideoFrame*)frame;
149 
154 -(AVCaptureVideoPreviewLayer*)getPreviewLayer;
155 
161 -(AVCaptureSession*)getCaptureSession;
162 @end
163 
视频控制器的封装类
Definition: QAVVideoCtrl.h:71
远端视频委托协议
Definition: QAVVideoCtrl.h:31
本地视频委托协议
Definition: QAVVideoCtrl.h:58
视频帧
Definition: QAVCommon.h:52
屏幕分享委托协议
Definition: QAVVideoCtrl.h:45
摄像头信息
Definition: QAVCommon.h:66