WHCamera 0.0.2

WHCamera 0.0.2

Evans.Xiao维护。



WHCamera 0.0.2

  • xiaoweihua

WHCamera

基于 Objective-C 的 iOS 纯原生 API 相机,高度集成,使用快捷简单。可快速集成使用。一键集成的方便!

最低支持 iOS 7 的系统。

利用 AVCaptureDevice 获取 iOS 端的硬件资源并取得相机资源,支持深度信息(AVDepthData)获取、分辨率改变、前后摄像头切换、多方向旋转、摄像头预览改变等多种强大功能。

一、源码导入

1、CocoaPods

  • 将 WHCamera 的 pod 条目添加到您的 Podfile 中的 pod 'WHCamera', '~>0.0.1'
  • 通过运行 pod install 进行安装;
  • 在需要的地方包含 WHCamera,使用 #import "WHCamera.h"

2、直接下载源码,导入工程中

源代码

二、用法

1、导入头文件

#import "WHCamera.h"

2、声明全局变量并设置代理

@interface ViewController ()<WHCameraDelegate>

@property (strong, nonatomic) WHCamera *camera;

@end

3、初始化并设置参数

self.camera = [[WHCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480
                                             delegate:self
                                captureDevicePosition:AVCaptureDevicePositionFront
                                            inSubView:self.view
                                             depthTag:YES
                                          adaptCamera:YES
                                             portrait:YES
                                          fillPreView:YES];

4、开启摄像头

[self.camera startCamera];

5、视频流回调函数

#pragma mark - WHCameraDelegate

- (void)whCamera:(WHCamera *)whCamera didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
{
    NSLog(@"%s",__func__);
}

- (void)whCamera:(WHCamera *)whCamera didOutputSyncedSampleBufferData:(AVCaptureSynchronizedSampleBufferData *)syncedSampleBufferData syncedDepthBufferData:(AVCaptureSynchronizedDepthData *)syncedDepthBufferData
API_AVAILABLE(ios(11.0)){
    NSLog(@"%s",__func__);
}

6、停止运行摄像头

[self.camera stopCamera];

7、最后释放资源,避免内存泄漏

[self.camera releaseCamera];