DIYAV 是建立在 AVFoundation 之上的一层高级层,使得在 iOS 中进行照片和视频捕获变得简单。
查看 DIYCam 是开始使用 DIYAV 的最简单方法。
为了使用 DIYAV,您需要将整个 DIYAV
目录添加到您的项目中。要开始,只需
#import "DIYAV.h"
DIYAV *diyAV = [[DIYAV alloc] init];
diyAV.delegate = self;
您还需要链接以下框架
AssetsLibrary.framework
AVFoundation.framework
CoreGraphics.framework
CoreMedia.framework
MobileCoreServices.framework
QuartzCore.framework
默认配置设置可以在 DIYCamDefaults.h 中进行修改,其中可以修改资产库使用、方向、设备设置和质量的选项。
- (id)initWithOptions:(NSDictionary *)options;
- (void)startSession;
- (void)stopSession;
- (void)focusAtPoint:(CGPoint)point inFrame:(CGRect)frame;
- (void)capturePhoto;
- (void)captureVideoStart;
- (void)captureVideoStop;
- (void)AVAttachPreviewLayer:(CALayer *)layer;
- (void)AVDidFail:(DIYAV *)av withError:(NSError *)error;
- (void)AVModeWillChange:(DIYAV *)av mode:(DIYAVMode)mode;
- (void)AVModeDidChange:(DIYAV *)av mode:(DIYAVMode)mode;
- (void)AVCaptureStarted:(DIYAV *)av;
- (void)AVCaptureStopped:(DIYAV *)av;
- (void)AVcaptureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error;
- (void)AVCaptureOutputStill:(CMSampleBufferRef)imageDataSampleBuffer withError:(NSError *)error;
@property (weak) id<DIYAVDelegate> delegate;
@property (nonatomic) DIYAVMode captureMode;
@property BOOL isRecording;
DIYAV 已在 iOS 5 及更高版本上进行了测试。较旧的 iOS 版本可能也能工作,但目前不支持。
DIYAV 使用 ARC。如果您在一个不使用 自动引用计数 (ARC) 的项目中包含 DIYAV,您需要在所有 DIYAV 源文件上设置 -fobjc-arc
编译器标志。要在 Xcode 中这样做,转到您的活动目标并选择“构建阶段”选项卡。现在选择所有 DIYAV 源文件,按 Enter 键,插入 -fobjc-arc
并然后选择“完成”以启用 DIYAV 的 ARC。