zoukankan      html  css  js  c++  java
  • iOS 获取摄像头当前方向

    在做二维码扫描和直播获取视频流的过程中,可能会用到

    AVCaptureDevice
    
    AVCaptureVideoPreviewLayer
    
    AVCaptureSession

    这几个参数,其中

    1、定义显示layer

    var preview:AVCaptureVideoPreviewLayer! = nil

    2、获取摄像头方向

    self.preview = AVCaptureVideoPreviewLayer(session: self.session)
    self.preview.videoGravity = AVLayerVideoGravityResizeAspectFill
    self.preview.connection.videoOrientation = self.getDeviceDirection()

    重点就是这里getDeviceDirection方法,这里我的做法就是根据当前状态栏方向判断摄像头方向。

    代码实现:

      /// 获取当前摄像头方向
        ///
        /// - Returns: <#return value description#>
        func getDeviceDirection() -> AVCaptureVideoOrientation{
            switch UIApplication.shared.statusBarOrientation {
            case .landscapeLeft:
                return AVCaptureVideoOrientation.landscapeLeft
            case .landscapeRight:
                return AVCaptureVideoOrientation.landscapeRight
            case .portrait:
                return AVCaptureVideoOrientation.portrait
            case .portraitUpsideDown:
                return AVCaptureVideoOrientation.portraitUpsideDown
            default:
                return AVCaptureVideoOrientation.landscapeRight
            }
        }
        
  • 相关阅读:
    P2043 质因子分解
    CODE[VS] 3164 质因数分解
    借过
    CODE[VS] 1165 字符串的展开 || P1098 字符串的展开
    CODE[VS] 1144 守望者的逃离 || P1095 守望者的逃离
    CODE[VS] 2914 吹空调
    AC日记
    AC日记
    山科日记—回文
    山科日记—编写函数myFloor和myCeil(编程题)
  • 原文地址:https://www.cnblogs.com/yajunLi/p/6682035.html
Copyright © 2011-2022 走看看