亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS使用AVFoundation展示視頻

2020-07-26 02:20:32
字體:
來源:轉載
供稿:網友

本文實例為大家分享了iOS使用AVFoundation展示視頻的具體代碼,供大家參考,具體內容如下

//// Capter2ViewController.m// IosTest//// Created by garin on 13-7-19.// Copyright (c) 2013年 garin. All rights reserved.// #import "Capter2ViewController.h" @interface Capter2ViewController ()@end@implementation Capter2ViewController-(void) dealloc{  [session release];  [super dealloc];} - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{  self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  if (self) {    // Custom initialization  }  return self;} - (void)viewDidLoad{  [super viewDidLoad];  videoPreviewView=[[UIView alloc] initWithFrame:CGRectMake(10, 10, 320, 200)];  [self.view addSubview:videoPreviewView];  [videoPreviewView release]; // Do any additional setup after loading the view.    //在viewdidload調用下面的函數顯示攝像信息  [self setupCaptureSession];  //  imgView=[[UIImageView alloc] initWithFrame:CGRectMake(10, 230, 320, 100)];//  imgView.backgroundColor=[UIColor grayColor];//  [self.view addSubview:imgView];//  [imgView release];    UIButton *cloeseBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];  cloeseBtn.frame=CGRectMake(10, 220, 300, 50);  [cloeseBtn setTitle:@"Press" forState:UIControlStateNormal];  [cloeseBtn addTarget:self action:@selector(closeBtnClick:) forControlEvents:UIControlEventTouchUpInside];  [self.view addSubview:cloeseBtn];} -(void) closeBtnClick:(id) sender{  [session stopRunning];} - (void)didReceiveMemoryWarning{  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.} - (void)setupCaptureSession{  NSError *error = nil;    // Create the session  session = [[AVCaptureSession alloc] init];    // Configure the session to produce lower resolution video frames, if your  // processing algorithm can cope. We'll specify medium quality for the  // chosen device.  session.sessionPreset = AVCaptureSessionPresetLow;    // Find a suitable AVCaptureDevice  AVCaptureDevice *device = [AVCaptureDevice                defaultDeviceWithMediaType:AVMediaTypeVideo];    // Create a device input with the device and add it to the session.  AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device                                    error:&error];  if (!input) {    // Handling the error appropriately.  }  [session addInput:input];    // Create a VideoDataOutput and add it to the session  AVCaptureVideoDataOutput *output = [[[AVCaptureVideoDataOutput alloc] init] autorelease];  [session addOutput:output];    // Configure your output.  dispatch_queue_t queue = dispatch_queue_create("myQueue", NULL);  [output setSampleBufferDelegate:self queue:queue];  dispatch_release(queue);    // Specify the pixel format  output.videoSettings =  [NSDictionary dictionaryWithObject:   [NSNumber numberWithInt:kCVPixelFormatType_32BGRA]                forKey:(id)kCVPixelBufferPixelFormatTypeKey];      // If you wish to cap the frame rate to a known value, such as 15 fps, set  // minFrameDuration.  //output.minFrameDuration = CMTimeMake(1, 15);  //AVCaptureConnection *avcaptureconn=[[AVCaptureConnection alloc] init];  //[avcaptureconn setVideoMinFrameDuration:CMTimeMake(1, 15)];  // Start the session running to start the flow of data  [session startRunning];  AVCaptureVideoPreviewLayer* previewLayer = [AVCaptureVideoPreviewLayer layerWithSession: session];  previewLayer.frame = videoPreviewView.bounds; //視頻顯示到的UIView  previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;//  [previewLayer setOrientation:AVCaptureVideoOrientationLandscapeRight];  //  if(previewLayer.orientationSupported){  //   previewLayer.orientation = mOrientation;  //  }    [videoPreviewView.layer addSublayer: previewLayer];    if(![session isRunning]){    [session startRunning];  }    // Assign session to an ivar.  //[self setSession:session];} //得到視頻流- (void)captureOutput:(AVCaptureOutput *)captureOutputdidOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer    fromConnection:(AVCaptureConnection *)connection{  // Create a UIImage from the sample buffer data  return;    UIImage *image = [self imageFromSampleBuffer:sampleBuffer];  //得到的視頻流圖片  imgView.image=image;} // Create a UIImage from sample buffer data- (UIImage *) imageFromSampleBuffer:(CMSampleBufferRef) sampleBuffer{  // Get a CMSampleBuffer's Core Video image buffer for the media data  CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);  // Lock the base address of the pixel buffer  CVPixelBufferLockBaseAddress(imageBuffer, 0);    // Get the number of bytes per row for the pixel buffer  void *baseAddress = CVPixelBufferGetBaseAddress(imageBuffer);    // Get the number of bytes per row for the pixel buffer  size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer);  // Get the pixel buffer width and height  size_t width = CVPixelBufferGetWidth(imageBuffer);  size_t height = CVPixelBufferGetHeight(imageBuffer);    // Create a device-dependent RGB color space  CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();    // Create a bitmap graphics context with the sample buffer data  CGContextRef context = CGBitmapContextCreate(baseAddress, width, height, 8,                         bytesPerRow, colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);  // Create a Quartz image from the pixel data in the bitmap graphics context  CGImageRef quartzImage = CGBitmapContextCreateImage(context);  // Unlock the pixel buffer  CVPixelBufferUnlockBaseAddress(imageBuffer,0);    // Free up the context and color space  CGContextRelease(context);  CGColorSpaceRelease(colorSpace);    // Create an image object from the Quartz image  UIImage *image = [UIImage imageWithCGImage:quartzImage];    // Release the Quartz image  CGImageRelease(quartzImage);    return (image);} @end

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩毛片在线看| 午夜免费久久久久| 精品久久久免费| 日本亚洲欧洲色| 亚洲图片在区色| 亚洲综合精品一区二区| 91在线观看免费观看| 日韩av一区在线| 久久久精品久久| 久久久久久久久网站| 91美女福利视频高清| 欧美肥老妇视频| 精品欧美国产一区二区三区| 国产精品人人做人人爽| 中文字幕精品av| 日韩经典中文字幕在线观看| 欧美日韩国产一区在线| 欧美夫妻性视频| 亚洲欧美另类在线观看| 国产精品久久久一区| 蜜月aⅴ免费一区二区三区| 欧美中文字幕视频在线观看| 亚洲午夜未删减在线观看| 国内精品久久久久影院优| 不卡在线观看电视剧完整版| 97精品免费视频| 操91在线视频| 亚洲电影在线看| 色综合天天狠天天透天天伊人| 日韩精品在线视频| 欧美精品videossex性护士| 日韩一区二区三区在线播放| 欧美性少妇18aaaa视频| 亚洲精品福利在线观看| 欧美一区二区大胆人体摄影专业网站| 韩国精品美女www爽爽爽视频| 日韩成人小视频| 91最新在线免费观看| 成人国产精品一区二区| 国产精品国语对白| 亚洲成人激情视频| 亚洲成人久久网| 91成人免费观看网站| 久操成人在线视频| 最近2019年手机中文字幕| 日韩在线免费视频观看| 中文字幕日韩电影| 日本一区二三区好的精华液| 精品中文字幕在线观看| 久久91精品国产91久久跳| 日韩av电影手机在线观看| 国产精品偷伦免费视频观看的| 国产精品视频999| 欧美国产日韩中文字幕在线| 91久久精品美女高潮| 日韩在线一区二区三区免费视频| 国产精品丝袜高跟| 懂色av一区二区三区| 国产成人精品在线播放| 日韩精品免费在线播放| 欧美夫妻性生活视频| 欧美国产日本高清在线| 色爱av美腿丝袜综合粉嫩av| 97人人爽人人喊人人模波多| 久久久噜噜噜久噜久久| 亚洲国产成人在线播放| 欧美激情久久久久久| 中文字幕亚洲欧美在线| 欧美日韩亚洲一区二区三区| 欧美精品生活片| 欧美多人乱p欧美4p久久| 午夜精品福利在线观看| 色偷偷9999www| 欧美性色视频在线| 成人国产精品av| 色综合五月天导航| 中文字幕久久久av一区| 丝袜美腿亚洲一区二区| 国产丝袜一区二区| 亚洲日韩欧美视频| 久久精品夜夜夜夜夜久久| 亚洲自拍另类欧美丝袜| 国产精品爽黄69| 久久中文字幕一区| 日本19禁啪啪免费观看www| 亚洲第一免费播放区| 国产精品美女免费看| 亚洲精品永久免费精品| 亚洲激情视频网| 一区二区在线视频播放| 亚洲一区二区三区xxx视频| 亚洲美女在线视频| 久热精品视频在线| 日韩在线观看免费全集电视剧网站| 久久久极品av| 日韩高清人体午夜| 久久网福利资源网站| 欧美色videos| 8090成年在线看片午夜| 欧美寡妇偷汉性猛交| 欧美精品免费在线观看| 亚洲人成绝费网站色www| 亚洲国产精品免费| 国产精品成久久久久三级| 欧美日韩另类在线| 欧美成人激情视频| 久久精品视频播放| 亚洲最大中文字幕| 亚洲欧美日韩久久久久久| 日韩欧美精品中文字幕| 欧美日韩午夜激情| 91久久精品日日躁夜夜躁国产| 亚洲欧美激情四射在线日| 亚洲在线免费观看| 激情久久av一区av二区av三区| 国产亚洲精品美女久久久久| 欧美日韩在线一区| 亚洲精品小视频在线观看| 久久久亚洲网站| 2018国产精品视频| 亚洲字幕在线观看| 69久久夜色精品国产69乱青草| 欧美黑人一级爽快片淫片高清| 日韩网站免费观看高清| 日韩高清电影免费观看完整版| 亚洲精品狠狠操| 欧美日韩亚洲天堂| 日韩精品在线观看网站| 亚洲最大福利网站| 一色桃子一区二区| 6080yy精品一区二区三区| 日本精品va在线观看| 日本伊人精品一区二区三区介绍| 91九色国产在线| 日韩成人av网址| 色婷婷成人综合| 成人网在线免费观看| 中文字幕亚洲一区| 青青久久av北条麻妃海外网| 岛国av一区二区三区| 国产精品日韩在线观看| 91精品国产免费久久久久久| 亚洲精品美女免费| 韩国三级日本三级少妇99| 日韩av一区在线| 欧美大片在线影院| 91精品国产综合久久久久久久久| 久久这里只有精品99| 日本不卡视频在线播放| 精品中文字幕在线观看| 久久影院免费观看| 亚洲一区二区三区在线免费观看| 日本中文字幕不卡免费| 国产97在线播放| 色婷婷综合成人av| 亚洲精品国产综合区久久久久久久| 国产精品久久久久久久久久尿| 久久91精品国产| 欧美性受xxxx白人性爽| 日韩免费电影在线观看| 欧美日韩国产中文精品字幕自在自线| 欧美一二三视频| 国产99久久久欧美黑人| 国产精品中文在线|