如何在 Swift 中获取前置摄像头?

2024-01-19

我正在尝试让前置摄像头具有实时取景功能。我可以使用以下方式获取后置摄像头:

var backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)

但我似乎找不到如何获得前置摄像头。如何更改上面的代码以使用前置摄像头?


这是我的一个项目中获取前置摄像头的工作示例。这是在 Objective-C 中,但已被证明是可行的,并且很容易转换为 Swift。

NSArray *videoDevices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
AVCaptureDevice *captureDevice = nil;

for (AVCaptureDevice *device in videoDevices){

    if (device.position == AVCaptureDevicePositionFront){

        captureDevice = device;
        break;
    }
}

在 Swift 3.2+ 中:

if let videoDevices = AVCaptureDevice.devices(withMediaType: AVMediaTypeVideo) {
    var captureDevice: AVCaptureDevice
    for device in videoDevices {
        if let device = device as? AVCaptureDevice {
            if device.position == AVCaptureDevicePosition.front {
                captureDevice = device
                break
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Swift 中获取前置摄像头? 的相关文章

  • iOS - 在 UITabBar 上方获取所需的阴影

    我试图让我的标签栏阴影看起来像这张图片中看到的那样 这样做的最佳方法是什么 我正在使用 Objective C Thanks 您可以使用以下代码为任何 UI 对象提供阴影 tabBar layer shadowOffset CGSize w
  • UIAlertAction 处理程序在延迟后运行

    我正在尝试将 UIAlertViews 更改为 UIAlertControllers 我为此设置了这个操作 UIAlertAction undoStopAction UIAlertAction actionWithTitle Undo St
  • 在 Safari 中快速打开链接

    我目前正在我的应用程序中打开链接WebView 但我正在寻找一个打开链接的选项Safari反而 它不是 融入 Swift 但你可以使用标准UIKit方法来做到这一点 看看 UIApplication 的openUrl https devel
  • 通过选择器使用自定义比较器的 NSSortDescriptor 问题

    我想将排序描述符与自定义比较器一起使用 NSSortDescriptor sortDescriptor NSSortDescriptor alloc initWithKey object dateTime ascending YES sel
  • iOS5 和 Facebook API

    我想将我的应用程序与 Facebook 集成并从 github 下载 Facebook ios sdk 但是 该 sdk 适用于 Xcode 4 0 代码库 我正在使用 Xcode 4 2 for iOS 5 beta 5 应用程序 是否有
  • UINavigationBar 滑开而不是留在原处

    我创建了演示项目来展示问题 我们在 UINavigationController 中有两个视图控制器 MainViewController这是根 class MainViewController UIViewController lazy
  • 如何让位置音频在 SceneKit 中工作?

    我在使位置音频在 SceneKit 中工作时遇到问题 从 Xcode 生成的 SceneKit 游戏模板开始 我将以下代码添加到handleTap 方法的末尾 let ship scnView scene rootNode childNod
  • 使用什么来移动 UIView self.frame 或 self.transform 属性?

    这个问题我有点困惑 我知道我可以改变观点self frame origin 但我发现有一个名为 变换 的属性 我认为这是用于在屏幕上移动我的视图等 也许我有点不明白 所以我想知道 我必须使用哪个房产来搬家UIView 或者它的子类 另一个类
  • 在后台运行 URL 请求

    我想在一定的时间间隔内发出 url 请求 例如 每 10 分钟应用程序应该发出一次 url 调用并获取一些 json 数据 应用程序在后台运行时应该能够执行此操作 这可以做到吗 如果是这样 这是否违反 Apple 服务条款 有什么限制吗 i
  • 如何将 SCNPlane 颜色更改为透明颜色

    我正在开发一个 ARKit 项目 在水平面上点击时需要波纹动画效果 为此 我采用了 UIView 对象并将其作为 SCNPlane 对象材料的内容传递 我已将波纹动画添加到 UIView 对象 一切正常 但我无法将 SCNPlane 颜色更
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • 增量后清除推送通知徽章

    我正在研究 iPhone 中的推送通知 当我收到推送通知时 它在我的应用程序图标上显示 1 下次显示 2 3 4 如果我打开应用程序 它是 0 下次它应该是 1 2 3 4 但它显示最后一个数字和 1 我想在打开应用程序后重置推送通知徽章
  • 带有图像的 UITableView 滚动非常慢[重复]

    这个问题在这里已经有答案了 可能的重复 带图像的表格视图 加载和滚动缓慢 https stackoverflow com questions 4071497 table view with images slow load and scro
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • UNTimeIntervalNotificationTrigger nextTriggerDate() 是否给出了错误的日期?

    我正在更新本地通知以与 iOS 10 配合使用 但遇到了一个问题 我认为 nextTrigger 函数返回的不是 满足触发条件的下一个日期 而是返回当前日期时间加上您最初设置 UNTimeInvervalNotificationTrigge
  • 在 Swift 中,如何为具有自动布局的 UIView 制作动画,就像页面滑入一样?

    我尝试创建一个 UIView 来表示一个大小与设备屏幕相同的页面 由于该应用程序支持方向 因此我使用 AutoLayout 来构建它 它工作正常 直到我尝试将页面动画化以从右侧滑入 经过一番研究后 我能想到的最好的办法是 myView UI
  • 如何使用 MonoTouch 在 UIKeyboard 之上添加 UIToolbar?

    我按照 Obj C 中的示例进行操作定制 iPhone 键盘 https stackoverflow com questions 1610542 custom iphone keyboard 1612549 1612549但是 为了在 Wi
  • 应用程序仅启用纵向,但 UIImagePickerController 在 iOS6 中旋转

    请注意 下面的答案 不适用于 iOS6 所以我仍然需要答案 我的应用程序仅启用纵向模式 但是 如果我将 UIImagePickerController 作为子视图嵌入其中 并旋转设备 则顶部和底部栏将保持在同一位置 但 UIImagePic
  • 共享扩展程序未出现在能够在 iPhone 上共享照片的应用程序列表中

    我正在尝试创建一个共享应用程序扩展 并按照以下来源的教程进行操作 http www technetexperts com mobile share extension in ios application overview with exa
  • 使用自定义格式将字符串转换为 NSDate [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 到 NSDate https stackoverflow com questions 1353081 nsstring to nsdate iPhone 如何将 yyyyMMddTh

随机推荐

  • 使用 EmacsClient 创建带有文本的新缓冲区

    我有一个程序可以将文本发送到任何其他程序以进行进一步分析 例如 sed grep 等 我希望它将数据发送到 Emacs 并在那里进行分析 我该怎么做呢 EmacsClient 默认采用文件名 这是一个数据字符串而不是文件 我真的不想创建和删
  • PowerShell 远程处理序列化和反序列化

    用于从 PowerShell 序列化和反序列化对象 由 PowerShell Remoting 执行 的例程是否可用 我想避免将对象写入磁盘 使用 Export CliXML 并使用 Import CliXML 读回 基本上 我想获取反序列
  • Android WorkManager 不会触发两个计划工作线程之一

    我的应用程序中安排了两个定期工作人员 其中一名工作人员在 24 小时后重复 另一名工作人员在 15 分钟后重复 最初 在全新安装时 一切按预期工作 但几天后 我在 2 台设备 共 5 台 上遇到了问题 24 小时工作人员被正确触发 但 15
  • 在 Hyperledger Fabric Chaincode 中使用 cron 作业

    我正在尝试在我的链代码中设置一个 cron 作业以 24 小时间隔运行 我正在尝试使用以下库来设置调度程序 https github com jasonlvhit gocron https github com jasonlvhit goc
  • 条件键控连接/更新并更新匹配的标志列

    这与question https stackoverflow com questions 29658627 conditional binary join and update by reference using the data tab
  • CMake 无法确定目标的链接器语言 - C++

    我正在尝试开发一个供私人使用的引擎 我正在使用 CMake 因为我打算将来使其成为多平台 但是开始出现一个我以前从未遇到过的错误 我尝试将项目 IEngine 更改为项目 IEngine CXX 如堆栈溢出的其他问题中所述 但错误仍然存 在
  • 执行 bash 文件时出现问题

    你好呀 我在学习结合 sh 文件和 PHP 时遇到了一些问题 我创建了一个文件 test sh 并在该文件中调用了一个名为 test php 的 PHP 文件 如果我双击 sh 文件 那么它会完美运行 但是当我尝试从终端运行它时 我会收到
  • 如何在进度条标签内添加标签?

    我想在进度条标签中添加一个标签 就像这个漂亮的例子一样 假设蓝色是值 红色是最大值 我怎样才能在里面添加一个标签 比如我的 35 使用CSSposition relative将文本移动到栏上 对于短杆 一个快速而肮脏的解决方案是 posit
  • 是否可以使用 GraphQLList 从多个表中获取数据

    在 GraphQL 中 我们可以在 GraphQLList 中写入对象类型并获取所有字段 我正在使用关联 它正在连接两个表 但我无法获取两个表的字段 它只接受我在 GraphQLList 中编写的字段 因为我想要数据列表 这是代码 film
  • REST如何传递空路径参数?

    我正在建造REST网络应用程序使用Netbean 7 1 1 Glassfish 3 1 2 我有2个网址 http myPage resource getall name get some data by name http myPage
  • gensim WikiCorpus 的问题 - 将 chunkize 别名为 chunkize_serial; (__mp_main__ 而不是 __main__?)

    我对 Python 和一般编码都很陌生 所以我似乎遇到了一个问题 我正在尝试运行这段代码 归功于马修 梅奥 整个事情都可以找到here https www kdnuggets com 2017 11 building wikipedia t
  • 在 Canvas Fabric JS 元素上添加删除按钮

    您好 我想使用 FabricJS 在元素中添加删除按钮 我有一个例子 我尝试添加这部分代码 但是当我调整图像大小时 删除按钮不会保留在原位 http jsfiddle net wxao1on8 13 http jsfiddle net wx
  • 如何通过 Google Cloud 调试在 Docker 容器内运行的 Nodejs 应用程序

    我发现谷歌提供了一些指导方针如何在自定义运行环境上运行 Nodejs https cloud google com solutions nodejs 一切看起来都很好 我正在设法在本地计算机上启动我的 Nodejs 应用程序gcloud p
  • ActiveMQ 警告:帧大小为 1 GB,大于允许的最大大小 100 MB

    我正在尝试从旧版 jms 代理切换到 ActiveMQ 我无法弄清楚的一件事是日志中的警告每小时一次 WARN Transport Connection to tcp 127 0 0 1 38542 failed java io IOExc
  • 如何在使用 pytest-repeat 时动态捕获测试内部的迭代次数

    我使用 pytest repeat 多次执行我的 selenium 脚本 我需要在执行过程中捕获迭代次数并利用它 我探索了 pytest mark pytest collect 和 pytest Collector class Teston
  • 在Python中向上移动一个目录

    有没有一种简单的方法可以使用一行代码在 python 中上移一个目录 类似的东西cd 在命令行中 gt gt gt import os gt gt gt print os path abspath os curdir C Python27
  • 运行 play 框架时不支持 Major.minor 版本 51.0

    我知道存在版本冲突 只是希望有人告诉我如何解决它 在之前的 stackoverflow 帖子中 没有人告诉我们解决方案 版本 Ubuntu 12 04 1 LTS java 1 6 0 24 OpenJDK javac 1 7 0 07 O
  • R 中用于大型复杂调查数据集的方法?

    我不是调查方法学家或人口统计学家 但我是 Thomas Lumley 的 R 调查包的狂热粉丝 我一直在处理一个相对较大的复杂调查数据集 即医疗保健成本和利用项目 HCUP 国家急诊室样本 NEDS https www hcup us ah
  • Gboard 贴纸搜索未返回结果

    通过应用程序索引 我将贴纸包添加到 GBoard 但 GBoard 搜索无法按关键字找到我的贴纸 new Indexable Builder Sticker setName Bye setImage http www snoopystick
  • 如何在 Swift 中获取前置摄像头?

    我正在尝试让前置摄像头具有实时取景功能 我可以使用以下方式获取后置摄像头 var backCamera AVCaptureDevice defaultDeviceWithMediaType AVMediaTypeVideo 但我似乎找不到如