标签: avcapturedevice

如何在Swift 2中切换到前置摄像头?

我在ViewDidAppear中拥有所有这些代码

captureSession = AVCaptureSession()


   // let backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
    var captureDevice:AVCaptureDevice! = nil
    if (camera == CameraType.Front) {
        let videoDevices = AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo)

        for device in videoDevices{
            let device = device as! AVCaptureDevice
            if device.position == AVCaptureDevicePosition.Front {
                captureDevice = device
                break
            }
        }
    } else {
        captureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
    }

    do {
        let input = try? AVCaptureDeviceInput(device: captureDevice)

        if (captureSession?.canAddInput(input) != nil){

            captureSession?.addInput(input)

            stillImageOutput = AVCaptureStillImageOutput()
            stillImageOutput?.outputSettings = [AVVideoCodecKey : AVVideoCodecJPEG]

            if (captureSession?.canAddOutput(stillImageOutput) != nil){
                captureSession?.addOutput(stillImageOutput)

                previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) …
Run Code Online (Sandbox Code Playgroud)

ios avcapturedevice swift swift2

1
推荐指数
1
解决办法
3175
查看次数

在 swift 3 上使用相机进行实时人脸检测

如何像“相机”一样实时进行人脸检测?就像脸上和脸上的白色圆形形状。我用AVCapturSession。我发现我保存的用于面部检测的图像。下面我附上了我当前的代码。它仅在我按下按钮时捕获图像并将其保存到照片库中。有的请帮我根据人脸实时创建圆形!

代码

class CameraFaceRecongnitionVC: UIViewController {

    @IBOutlet weak var imgOverlay: UIImageView!
    @IBOutlet weak var btnCapture: UIButton!

    let captureSession = AVCaptureSession()
    let stillImageOutput = AVCaptureStillImageOutput()
    var previewLayer : AVCaptureVideoPreviewLayer?

    // If we find a device we'll store it here for later use
    var captureDevice : AVCaptureDevice?

    override func viewDidLoad() {
        super.viewDidLoad()
        btnCapture.CameraButton()
        roundButton.RoundButtonForFaceRecong()

        // Do any additional setup after loading the view, typically from a nib.
        captureSession.sessionPreset = AVCaptureSessionPresetHigh

        if let devices = AVCaptureDevice.devices() as? [AVCaptureDevice] {
            // Loop …
Run Code Online (Sandbox Code Playgroud)

face-detection ios avcapturesession avcapturedevice swift3

1
推荐指数
1
解决办法
1万
查看次数

iPhone 7+, ios 11.2: Depth data delivery is not supported in the current configuration

This bug is driving me mad. I'm trying to produce the absolute minimal code to get AVDepthData from an iPhone 7+ using its DualCam.

I have this code:


//
//  RecorderViewController.swift
//  ios-recorder-app


import UIKit
import AVFoundation


class RecorderViewController: UIViewController {

    @IBOutlet weak var previewView: UIView!

    @IBAction func onTapTakePhoto(_ sender: Any) {

        guard let capturePhotoOutput = self.capturePhotoOutput else { return }

        let photoSettings = AVCapturePhotoSettings()

        photoSettings.isDepthDataDeliveryEnabled = true //Error

        capturePhotoOutput.capturePhoto(with: photoSettings, delegate: self)

    }

    var session: AVCaptureSession?
    var videoPreviewLayer: AVCaptureVideoPreviewLayer? …
Run Code Online (Sandbox Code Playgroud)

ios avcapturesession avcapturedevice swift avcaptureoutput

1
推荐指数
1
解决办法
485
查看次数

当快速点击按钮时,iPhone手电筒应用程序崩溃

我的flashligh应用程序完美运行.出于某种原因,每次我快速点击手电筒按钮,应用程序只是冻结,并没有做任何事情.当我调用AVCaptureSession stopRunning时,它似乎冻结了.下面是我的切换手电筒方法的代码.我也希望这种方法最终被称为频闪功能.

- (void)toggleFlashlight{

  if (isTorchOn) {

   // Start session configuration
   [session beginConfiguration];

   [device lockForConfiguration:nil];    
   // Set torch to on
   [device setTorchMode:AVCaptureTorchModeOn];

   [device unlockForConfiguration];
   [session commitConfiguration];

  [session startRunning];


 }
 else {
  [session stopRunning];
  [session release]; 
  session = nil;

  session = [[AVCaptureSession alloc] init];

  // Create device input and add to current session
  AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error: nil];
  [session addInput:input];

  // Create video output and add to current session      
  AVCaptureVideoDataOutput *output = [[AVCaptureVideoDataOutput alloc] init];
  [session addOutput:output];
  [output release]; …
Run Code Online (Sandbox Code Playgroud)

iphone avcapturesession avcapturedevice flashlight

0
推荐指数
2
解决办法
1378
查看次数