标签:style class blog code java http
实现功能:
自定义视频流,实时预览。
运行环境:
1. XCODE 5.1.1
2. 真机(IPHONE5 , IOS6.1.4)
#import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> //导入 - "视频流" @interface MCViewController : UIViewController @property (strong, nonatomic) AVCaptureSession * captureSession; //AVCaptureSession实例 @property (strong, nonatomic) AVCaptureDeviceInput * videoInput; //持有视频输入实例 @end
#import "MCViewController.h" @interface MCViewController () @end @implementation MCViewController - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; //开始扑捉会话 [self.captureSession startRunning]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; //停止扑捉会话 [self.captureSession stopRunning]; } - (void)viewDidLoad { [super viewDidLoad]; //1.1 创建AVCaptureSession self.captureSession = [[AVCaptureSession alloc] init]; //1.2 指定输入设备。这里使用后摄像头。 AVCaptureDevice * device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; //1.3 创建AVCaptureDeviceInput的实例,将所选设备作为扑捉会话的输入。 // 此外,在将是其添加到回话前请创建好输入,这里需要做个检查。 NSError * error = nil; self.videoInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error]; if (self.videoInput) { [self.captureSession addInput:self.videoInput]; } else { NSLog(@"input error : %@", error); } //2. 创建预览层 AVCaptureVideoPreviewLayer * previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:self.captureSession]; UIView * aView = self.view; previewLayer.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); [aView.layer addSublayer:previewLayer]; } @end
自定义相机(一) -- 预览视频流,布布扣,bubuko.com
标签:style class blog code java http
原文地址:http://www.cnblogs.com/iCodePhone/p/3784096.html