当前位置: 首页 > news >正文

化工集团网站建设 中企动力抖音seo关键词优化排名

化工集团网站建设 中企动力,抖音seo关键词优化排名,企查查公司名字,销售网络建设应该如何着手目的#xff1a;打开、关闭前置摄像头#xff0c;绘制图像#xff0c;并获取摄像头的二进制数据。 需要的库 AVFoundation.framework 、CoreVideo.framework 、CoreMedia.framework 、QuartzCore.framework 该摄像头捕抓必须编译真机的版本#xff0c;模拟器下编译不了。 函…目的打开、关闭前置摄像头绘制图像并获取摄像头的二进制数据。 需要的库 AVFoundation.framework 、CoreVideo.framework 、CoreMedia.framework 、QuartzCore.framework 该摄像头捕抓必须编译真机的版本模拟器下编译不了。 函数说明 - (void)createControl { // UI界面控件的创建 } - (AVCaptureDevice *)getFrontCamera; 获取前置摄像头设备 - (void)startVideoCapture; 打开摄像头并开始捕捉图像 其中代码 AVCaptureVideoPreviewLayer* previewLayer  [AVCaptureVideoPreviewLayer layerWithSession: self-avCaptureSession]; previewLayer.frame  localView.bounds; previewLayer.videoGravity  AVLayerVideoGravityResizeAspectFill; [self-localView.layer addSublayer: previewLayer];  为把图片画到UIView里面 - (void)stopVideoCapture:(id)arg 关闭摄像头停止捕抓图像 其中代码 for(UIView*viewinself-localView.subviews) { [viewremoveFromSuperview]; } 为移除摄像头图像的View 详情见代码代码拷过去可以直接使用      Over!!!! 代码 头文件 // //  AVCallController.h //  Pxlinstall // //  Created by Lin Charlie C. on 11-3-24. //  Copyright 2011  xxxx. All rights reserved. // #import UIKit/UIKit.h #import AVFoundation/AVFoundation.h interface AVCallController : UIViewController AVCaptureVideoDataOutputSampleBufferDelegate { //UI UILabel*labelState; UIButton*btnStartVideo; UIView*localView; AVCaptureSession* avCaptureSession; AVCaptureDevice *avCaptureDevice; BOOLfirstFrame; //是否为第一帧 intproducerFps; } property (nonatomic, retain) AVCaptureSession *avCaptureSession; property (nonatomic, retain) UILabel *labelState; - (void)createControl; - (AVCaptureDevice *)getFrontCamera; - (void)startVideoCapture; - (void)stopVideoCapture:(id)arg; end / / / 实现文件     // //  AVCallController.m //  Pxlinstall // //  Created by Lin Charlie C. on 11-3-24. //  Copyright 2011  高鸿移通. All rights reserved. // #import AVCallController.h implementation AVCallController synthesize avCaptureSession; synthesize labelState; // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. /* - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {     self  [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];     if (self) {         // Custom initialization.     }     return self; } */ -(id)init { if(self [superinit]) { firstFrame YES; producerFps 50; } returnself; } // Implement loadView to create a view hierarchy programmatically, without using a nib. - (void)loadView { [superloadView]; [selfcreateControl]; } /* // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad {     [super viewDidLoad]; } */ /* // Override to allow orientati***** other than the default portrait orientation. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {     // Return YES for supported orientati*****.     return (interfaceOrientation  UIInterfaceOrientationPortrait); } */ - (void)didReceiveMemoryWarning { // Releases the view if it doesnt have a superview. [superdidReceiveMemoryWarning]; // Release any cached data, images, etc. that arent in use. } - (void)viewDidUnload { [superviewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet  nil; } - (void)dealloc {     [super dealloc]; } #pragma mark - #pragma mark createControl - (void)createControl { //UI展示 self.view.backgroundColor [UIColorgrayColor]; labelState [[UILabelalloc] initWithFrame:CGRectMake(10, 20, 220, 30)]; labelState.backgroundColor [UIColorclearColor]; [self.viewaddSubview:labelState]; [labelStaterelease]; btnStartVideo [[UIButtonalloc] initWithFrame:CGRectMake(20, 350, 80, 50)]; [btnStartVideosetTitle:StarforState:UIControlStateNormal]; [btnStartVideosetBackgroundImage:[UIImageimageNamed:Images/button.png] forState:UIControlStateNormal]; [btnStartVideoaddTarget:selfaction:selector(startVideoCapture) forControlEvents:UIControlEventTouchUpInside]; [self.viewaddSubview:btnStartVideo]; [btnStartVideorelease]; UIButton* stop  [[UIButtonalloc] initWithFrame:CGRectMake(120, 350, 80, 50)]; [stop setTitle:StopforState:UIControlStateNormal]; [stop setBackgroundImage:[UIImageimageNamed:Images/button.png] forState:UIControlStateNormal]; [stop addTarget:selfaction:selector(stopVideoCapture:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:stop]; [stop release]; localView [[UIViewalloc] initWithFrame:CGRectMake(40, 50, 200, 300)]; [self.viewaddSubview:localView]; [localViewrelease]; } #pragma mark - #pragma mark VideoCapture - (AVCaptureDevice *)getFrontCamera { //获取前置摄像头设备 NSArray *cameras  [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];     for (AVCaptureDevice *device in cameras) {         if (device.position  AVCaptureDevicePositionFront)             return device;     }     return [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; } - (void)startVideoCapture { //打开摄像设备并开始捕抓图像 [labelStatesetText:Starting Video stream]; if(self-avCaptureDevice|| self-avCaptureSession) { [labelStatesetText:Already capturing]; return; } if((self-avCaptureDevice  [self getFrontCamera])  nil) { [labelStatesetText:Failed to get valide capture device]; return; } NSError *error  nil;     AVCaptureDeviceInput *videoInput  [AVCaptureDeviceInput deviceInputWithDevice:self-avCaptureDevice error:error];     if (!videoInput) { [labelStatesetText:Failed to get video input]; self-avCaptureDevice nil;         return;     }     self-avCaptureSession  [[AVCaptureSession alloc] init];     self-avCaptureSession.sessionPreset  AVCaptureSessionPresetLow;     [self-avCaptureSession addInput:videoInput]; // Currently, the only supported key is kCVPixelBufferPixelFormatTypeKey. Recommended pixel format choices are  // kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange or kCVPixelFormatType_32BGRA.  // On iPhone 3G, the recommended pixel format choices are kCVPixelFormatType_422YpCbCr8 or kCVPixelFormatType_32BGRA. //     AVCaptureVideoDataOutput *avCaptureVideoDataOutput  [[AVCaptureVideoDataOutput alloc] init]; NSDictionary*settings  [[NSDictionaryalloc] initWithObjectsAndKeys: //[NSNumber numberWithUnsignedInt:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange], kCVPixelBufferPixelFormatTypeKey, [NSNumbernumberWithInt:240], (id)kCVPixelBufferWidthKey,                               [NSNumber numberWithInt:320], (id)kCVPixelBufferHeightKey,   nil];     avCaptureVideoDataOutput.videoSettings  settings;     [settings release];     avCaptureVideoDataOutput.minFrameDuration  CMTimeMake(1, self-producerFps); /*We create a serial queue to handle the processing of our frames*/ dispatch_queue_tqueue  dispatch_queue_create(org.doubango.idoubs, NULL);     [avCaptureVideoDataOutput setSampleBufferDelegate:self queue:queue];     [self-avCaptureSession addOutput:avCaptureVideoDataOutput];     [avCaptureVideoDataOutput release]; dispatch_release(queue); AVCaptureVideoPreviewLayer* previewLayer  [AVCaptureVideoPreviewLayer layerWithSession: self-avCaptureSession]; previewLayer.frame  localView.bounds; previewLayer.videoGravity AVLayerVideoGravityResizeAspectFill; [self-localView.layer addSublayer: previewLayer]; self-firstFrame YES;     [self-avCaptureSession startRunning]; [labelStatesetText:Video capture started]; } - (void)stopVideoCapture:(id)arg { //停止摄像头捕抓 if(self-avCaptureSession){ [self-avCaptureSession stopRunning]; self-avCaptureSession nil; [labelStatesetText:Video capture stopped]; } self-avCaptureDevice nil; //移除localView里面的内容 for(UIView*viewinself-localView.subviews) { [viewremoveFromSuperview]; } } #pragma mark - #pragma mark AVCaptureVideoDataOutputSampleBufferDelegate - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection  { //捕捉数据输出 要怎么处理虽你便 CVPixelBufferRef pixelBuffer  CMSampleBufferGetImageBuffer(sampleBuffer); /*Lock the buffer*/ if(CVPixelBufferLockBaseAddress(pixelBuffer, 0)  kCVReturnSuccess) {         UInt8 *bufferPtr  (UInt8 *)CVPixelBufferGetBaseAddress(pixelBuffer);         size_t buffeSize  CVPixelBufferGetDataSize(pixelBuffer); if(self-firstFrame) {  if(1) { //第一次数据要求宽高类型 int width  CVPixelBufferGetWidth(pixelBuffer); int height  CVPixelBufferGetHeight(pixelBuffer); int pixelFormat  CVPixelBufferGetPixelFormatType(pixelBuffer); switch (pixelFormat) { casekCVPixelFormatType_420YpCbCr8BiPlanarVideoRange: //TMEDIA_PRODUCER(producer)-video.chroma  tmedia_nv12; // iPhone 3GS or 4 NSLog(Capture pixel formatNV12); break; casekCVPixelFormatType_422YpCbCr8: //TMEDIA_PRODUCER(producer)-video.chroma  tmedia_uyvy422; // iPhone 3 NSLog(Capture pixel formatUYUY422); break; default: //TMEDIA_PRODUCER(producer)-video.chroma  tmedia_rgb32; NSLog(Capture pixel formatRGB32); break; } self-firstFrame  NO; } } /*We unlock the buffer*/ CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);      } /*We create an autorelease pool because as we are not in the main_queue our code is  not executed in the main thread. So we have to create an autorelease pool for the thread we are in*/ // NSAutoreleasePool * pool  [[NSAutoreleasePool alloc] init]; //  //    CVImageBufferRef imageBuffer  CMSampleBufferGetImageBuffer(sampleBuffer);  //    /*Lock the image buffer*/ //    CVPixelBufferLockBaseAddress(imageBuffer,0);  //    /*Get information about the image*/ //    uint8_t *baseAddress  (uint8_t *)CVPixelBufferGetBaseAddress(imageBuffer);  //    size_t bytesPerRow  CVPixelBufferGetBytesPerRow(imageBuffer);  //    size_t width  CVPixelBufferGetWidth(imageBuffer);  //    size_t height  CVPixelBufferGetHeight(imageBuffer);   //     //    /*Create a CGImageRef from the CVImageBufferRef*/ //    CGColorSpaceRef colorSpace  CGColorSpaceCreateDeviceRGB();  //    CGContextRef newContext  CGBitmapContextCreate(baseAddress, width, height, 8, bytesPerRow, colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst); //    CGImageRef newImage  CGBitmapContextCreateImage(newContext);  //  //    /*We release some components*/ //    CGContextRelease(newContext);  //    CGColorSpaceRelease(colorSpace); //     //    /*We display the result on the custom layer. All the display stuff must be done in the main thread because //  UIKit is no thread safe, and as we are not in the main thread (remember we didnt use the main_queue) //  we use performSelectorOnMainThread to call our CALayer and tell it to display the CGImage.*/ // [self.customLayer performSelectorOnMainThread:selector(setContents:) withObject: (id) newImage waitUntilDone:YES]; //  // /*We display the result on the image view (We need to change the orientation of the image so that the video is displayed correctly). //  Same thing as for the CALayer we are not in the main thread so ...*/ // UIImage *image [UIImage imageWithCGImage:newImage scale:1.0 orientation:UIImageOrientationRight]; //  // /*We relase the CGImageRef*/ // CGImageRelease(newImage); //  // [self.imageView performSelectorOnMainThread:selector(setImage:) withObject:image waitUntilDone:YES]; //  // /*We unlock the  image buffer*/ // CVPixelBufferUnlockBaseAddress(imageBuffer,0); //  // [pool drain]; } end 杨航收集技术资料分享给大家
http://www.zqtcl.cn/news/175719/

相关文章:

  • 中石化第四建设公司 网站电商app开发价格表
  • dhru商城网站建设免费英文网站建设
  • 公司建设网站的 计划书深圳华强北电子商城
  • 宁波网站建设有限公司大圣网站建设
  • wish网站应该怎么做网站的html代码在哪
  • 哪个网站可以做体育主播站长工具seo综合查询怎么去掉
  • 哪个网站做logo设计师公司做网站需要什么资料
  • 想自己做衣服上哪个网站学网站设计网上培训学校
  • 做餐饮的网站云匠网可能会遇到哪些问题
  • 制作网页网站的软件是网络科技公司怎么注册
  • 如何做百度推广网站价格网如何查产品价格
  • 织梦移动网站后缀找生意项目
  • 深圳高端网站建设美工步骤图
  • 指数网站网站用ps下拉效果怎么做
  • 李沧网站建设电话从化企业网站建设
  • 北京电商网站建设公司新康家园网站建设
  • 广西注册公司网站企业高端网站制作
  • 国安中建建设集团网站南京网页设计培训班
  • 网站如何制作建设内容社交电商平台
  • 无法连接到wordpress站点网站建设两个方面
  • 广东官网网站建设品牌未来做啥网站能致富
  • 网站建设合同副本珠海微网站建设
  • wordpress 多语言 站点数据分析师报名入口
  • 做网站长尾词品牌设计模板
  • 企业建立网站的优势阿里云做网站号码
  • 江苏住房城乡建设厅网站一千块钱能注册公司吗
  • 山东兴华建设集团有限公司网站分类信息网站怎么做
  • 怎么用手机网站做软件西安网站建设开发熊掌号
  • asp.net做网站的流程杭州vi设计广告公司
  • 微信网站主题网络建设解决方案