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

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
}
}

iOS 获取摄像头当前方向的更多相关文章

  1. ios获取设备手持方向——电子罗盘

    转:http://book.51cto.com/art/201411/457105.htm 2014-11-15 19:07 张亚飞/崔巍 中国铁道出版社 字号:T | T 综合评级: 想读()  在 ...

  2. ios获取摄像头与相册图片

    iOS的一些设备上都安装了摄像头.现在绝大多数都有了. 在编程中,我们是用相应的东西来进行照相,录像等功能.   一.UIImagePickerController类 UIImagePickerCon ...

  3. ios获取摄像头

    NSError *error = nil; session = [[AVCaptureSession alloc] init] ; session.sessionPreset = AVCaptureS ...

  4. iOS获取当前设备方向

    三种方式: self.interfaceOrientation [[UIApplication sharedApplication] statusBarOrientation] [[UIDevice ...

  5. iOS UIWebView中javascript与Objective-C交互、获取摄像头

    UIWebView是iOS开发中常用的一个视图控件,多数情况下,它被用来显示HTML格式的内容. 支持的文档格式 除了HTML以外,UIWebView还支持iWork, Office等文档格式: Ex ...

  6. 修正iOS从照相机和相册中获取的图片 方向

    修正iOS从照相机和相册中获取的图片 方向   修正iOS从照相机和相册中获取的图片 方向 使用系统相机拍照得到的图片的默认方向有时不是ImageOrientationDown,而是ImageOrie ...

  7. ios中摄像头/相册获取图片压缩图片上传服务器方法总结

    本文章介绍了关于ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结,有需要了解的同学可以参考一下下.     这几天在搞iphone上面一个应用的开发,里面有需要摄像头/相册编程和图片上传的问 ...

  8. 直接获取摄像头传回的图像数据(人脸、微笑、眨眼: 识别--&gt;第一步):图像识别第一步

    转:ios通过摄像头获取特定数据(http://www.2cto.com/kf/201404/290777.html) 凝视: 因为近期项目需求,须要一个可以实现对摄像头图片获取当中部分内容的功能,类 ...

  9. UIWebView中javascript与Objective-C交互、获取摄像头

    UIWebView是iOS开发中常用的一个视图控件,多数情况下,它被用来显示HTML格式的内容. 支持的文档格式 除了HTML以外,UIWebView还支持iWork, Office等文档格式: Ex ...

随机推荐

  1. 修改IP地址的PowerShell

    $wmi = Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'true'" $wmi.E ...

  2. 异常捕获 UncaughtExceptionHandler MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. 【Scala】Scala-case-参考资料

    Scala-case-参考资料 scala case_百度搜索 Scala School - 基础知识(续) scala case匹配值 - CSDN博客 scala入门教程:scala中的match ...

  4. ML、DL相关资源

    1. http://x-algo.cn/index.php/category/nlp/

  5. linux里tmpfs文件系统

    linux里tmpfs文件系统 是一个虚拟内存文件系统,它不同于传统的用块设备形式来实现的Ramdisk,也不同于针对物理内存的Ramfs.Tmpfs可以使用物理内存,也可以使用交换分区. umoun ...

  6. Port already be taken

    我运行同一个docker run命令两次后,第二次给出提示,说端口已经被占用. Port has already been allocated [解决方法] 运行docker container ls ...

  7. hdu 5411 CRB and Puzzle (矩阵高速幂优化dp)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5411 题意:按题目转化的意思是,给定N和M,再给出一些边(u,v)表示u和v是连通的,问走0,1,2... ...

  8. windows命令行的使用,去掉"半"字

    1.新启动一个命令行,如果当前sogou是中文输入法,输入之后,下面出现一个"半"字.切换到英文输入法,这个"半"字,也不会消失,怎么办? 先切换到英文输入法, ...

  9. jetty 9使用

    jetty 9 使用 下载jdk 7 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-ja ...

  10. conEmu的使用笔记

    1.如何让conEmu成为windows的默认控制台程序? 解决:选中settings > Integration > Default Term里的Force ConEmu as defa ...