0

私はいくつかの検索を行いましたが、ほとんどの回答は Obj-C にあるか、このコードには適用されません。

私はこのガイドを使用しています: http://drivecurrent.com/devops/using-swift-and-avfoundation-to-create-a-custom-camera-view-for-an-ios-app/

そして、私はそれからこのコードを取得しました:

     super.viewWillAppear(animated)

    captureSession = AVCaptureSession()
    captureSession!.sessionPreset = AVCaptureSessionPresetPhoto

    let backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
    let frontCamera = ????

    var error: NSError?
    var input: AVCaptureDeviceInput!
    do {
        input = try AVCaptureDeviceInput(device: backCamera)
    } catch let error1 as NSError {
        error = error1
        input = nil
    }

背面カメラがデフォルトですが、前面カメラに直接アクセスして前後に入れ替える方法がわかりません。

4

2 に答える 2

3

現在無効になっているfrontCameraは、 backCameraと非常によく似た動作をします。devicesWithMediaType(_ mediaType: String!)タイプ AVMediaTypeVideo のデータをキャプチャできるすべてのデバイスを配列に格納できるようにする必要があります。

let captureDevices = AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo)
var frontCamera: AVCaptureDevice

for device in captureDevices {
    let device = element as! AVCaptureDevice
    if device.position == AVCaptureDevicePosition.Front {           
        frontCamera = device
        break
    }
}
于 2016-06-17T19:31:25.497 に答える