麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > iOS > 正文

iOS使用原生AVCapture系列

2019-10-21 18:39:31
字體:
供稿:網(wǎng)友

概述:

可用于音頻、二維碼、拍照、錄制視頻 (均可自定義界面)

常見的輸出信號:

  • AVCaptureAudioDataOutput 音頻輸出
  • AVCaptureFileOutput 文本輸出
  • AVCaptureMetadataOutput 二維碼 條形碼…
  • AVCaptureStillImageOutput 拍照
  • AVCaptureMovieFileOutput 錄制視頻(不能實現(xiàn)暫停錄制和定義視頻文件類型)
  • AVCaptureVideoDataOutput + AVCaptureAudioDataOutput 錄制視頻的靈活性更強(qiáng)(能實現(xiàn)暫停錄制和定義視頻文件類型)

AVCaptureMovieFileOutput輸出流實現(xiàn)視頻錄制

初始化會話層

-(void)sessionConfiguration{  //初始化一個會話  session = [[AVCaptureSession alloc] init];  [session setSessionPreset:AVCaptureSessionPresetMedium];  //創(chuàng)建視頻設(shè)備  AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];  //根據(jù)設(shè)備創(chuàng)建輸入信號  deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:videoDevice error:nil];  //添加 輸出設(shè)備 movieFile  self.deviceMovieFileOutput = [[AVCaptureMovieFileOutput alloc] init];  [session beginConfiguration];  //session添加設(shè)備輸入信號  if ([session canAddInput:deviceInput]) {    [session addInput:deviceInput];  }  //session添加設(shè)備輸出信號  if ([session canAddOutput:self.deviceMovieFileOutput]) {    [session addOutput:self.deviceMovieFileOutput];  }  [session commitConfiguration];}

創(chuàng)建預(yù)覽圖層

-(void)embedLayerWithView:(UIView *)view{  if (session == nil) {    return;  }  videoPreviewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session];  //設(shè)置圖層的大小  videoPreviewLayer.frame = view.bounds;  videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;  [view.layer addSublayer:videoPreviewLayer];  [session startRunning];}

錄制視頻

-(void)takePhoto:(NSURL *)fileURL{  [self.deviceMovieFileOutput startRecordingToOutputFileURL:fileURL recordingDelegate:self];}

結(jié)束錄制

-(UIImageView *)finishRecord:(UIView *)view isAnewRecording:(BOOL)anewRecording{  gifImageView = [[UIImageView alloc] initWithFrame:view.bounds];  [view addSubview:gifImageView];  isAnewRecording = anewRecording; //存儲是否重新錄制  //停止錄制(停止錄制后做代理方法)  [self.deviceMovieFileOutput stopRecording];  return gifImageView;}

拍攝視頻保存路徑

+(NSString *)getVideoSaveFilePath{  NSString*documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];  NSString *filePath = [documentPath stringByAppendingPathComponent:@"video.mp4"];  return filePath;}

會話層啟動和關(guān)閉

-(void)startCamera{  [session startRunning];}-(void)stopCamera{  [session stopRunning];}

代理方法

- (void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error{  NSLog(@"完成錄制");  NSLog(@"outputFileURL = %@",outputFileURL);  //**重新錄制**//  if (isAnewRecording) {    //**刪除視頻文件**//    NSFileManager *manager = [NSFileManager defaultManager];    [manager removeItemAtPath:outputFileURL.absoluteString error:nil];  }  //**不取消錄制**//  else{    //**獲取視頻時長**//    AVURLAsset *avUrl = [AVURLAsset URLAssetWithURL:outputFileURL options:nil];    CMTime time = [avUrl duration];    int seconds = ceil(time.value/time.timescale);    NSLog(@"seconds = %d",seconds);    if ([self.delegate respondsToSelector:@selector(videoDuration:)]) {      [self.delegate videoDuration:seconds];    }    if ([self.delegate respondsToSelector:@selector(playerVideo:)]) {      [self.delegate playerVideo:outputFileURL.absoluteString];    }  }}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜在线视频观看 | 中文字幕www | 精品国产一区二区三区四 | 中文字幕精品一二三四五六七八 | 91伊人久久| 久久久久久久一区二区 | 欧美日韩在线视频一区 | 激情宗合网 | 逼片视频| 久久亚洲春色中文字幕久久 | 久久久久久久久久91 | 欧美特级黄色 | 久久久久久久久久久av | 奇米888一区二区三区 | 国产成人强伦免费视频网站 | 日韩区在线 | 久久草草影视免费网 | h色视频网站| 日韩激情| 欧美巨乳在线观看 | 欧美日韩亚洲精品一区二区三区 | 538任你躁在线精品视频网站 | 爱爱视频天天干 | 欧美成人免费在线视频 | 国内性爱视频 | 99国产精品自拍 | 91精品国产乱码久久久久久久久 | 亚洲国产馆 | 免费亚洲视频在线观看 | 狠狠干五月天 | 丰满年轻岳中文字幕一区二区 | 久色porn | 中文字幕在线观看视频一区 | 久久久久久久久久久久久九 | 黄色的视频免费观看 | 日本欧美一区二区三区视频麻豆 | 成人免费一区二区三区在线观看 | 日韩深夜视频 | 国产69精品99久久久久久宅男 | 日韩精品一区二区三区中文 | 成年人在线视频免费 |