- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经使用 iOS 4 和 5 中提供的 AVFoundation 框架实现了相机,但一直遇到 captureStillImageAsynchronouslyFromConnection:completionHandler:
函数的不一致问题,其中从未调用完成处理程序 block 。在这种情况下,不会发出快门声并且预览会卡住。
我遵循 Apple(WWDC 2010 和 2011 视频)和非 Apple 指南(博客和 SO 帖子)以照片分辨率实现静态图像捕获,但几乎没有改进。在以下条件下,我能够在某种程度上始终如一地重现:
AVCaptureFlashModeAuto
并在弱光下拍照,它会挂起并且永远不会运行完成 block 。闪光灯闪光,但不发出快门声。使用相同的代码,我可以在正常光线下拍照,快门声响起,闪光灯不响,完成 block 运行。flashMode
或将其设置为关闭,我可以拍一些照片,但在拍摄少量照片(通常在 1 到 5 之间)后,完成 block 停止触发。为了澄清,一个场景可能是:
我的实现
我在 ViewController 中处理接口(interface),并在单独的类中处理所有 AVFoundation 内容。处理 AVFoundation 内容的单独类的实例变量位于 ViewController 中。它与示例实现不同,但我不明白为什么它会导致这种偶然的错误。
更多观察
[stillImageOutput isCapturingStillImage]
时,也会继续返回false,继续运行captureStillImageAsynchronouslyFromConnection
函数我很想知道是否有我可能遗漏的东西、未设置的属性或需要解决的已知问题。
谢谢。
(我看到一个类似的帖子,但没有一个答案解决我的问题。我需要在应用程序中使用照片资源。供引用: iPhone SDK 4 AVFoundation - How to use captureStillImageAsynchronouslyFromConnection correctly? )
最佳答案
我应该添加代码,它可能会帮助任何人查看此内容,但无论如何:
事实证明,相机闪光灯对处理图像所需的时间有足够大的影响,从而在异步捕获某些内容时引起问题。在从 completionHandler block 发送通知之前,我不小心结束了捕获 session 。
- (void) saveImageFromCamera {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(imageCapturedFromCamera) name:@"FTW_imageCaptured" object:nil];
[cameraController captureStillImage];
// WRONG: Session was stopped here before
}
- (void) imageCapturedFromCamera {
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"FTW_imageCaptured" object:nil];
[sharedAppController setBackgroundImage:[cameraController stillImage]];
sharedAppController.imageFromCamera = YES;
[self endCamera];
// CORRECT: Should have stopped session here
[self updateBackgroundImage];
}
我希望这可以帮助遇到类似情况的任何其他人。
关于objective-c - iOS AVFoundation captureStillImageAsynchronouslyFromConnection :completionHandler: Hanging Indefinitely,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7749263/
我有一个非常奇怪的问题,到目前为止我无法调试......问题是......我的应用程序需要下载一些东西才能工作。因此,在 onCreate() 方法的开头,我检查是否已经下载了某些内容。如果没有,我会
我编写了一个基于尝试解决骑士之旅问题的程序。我相信我已经想出了一个合适的解决方案,一切看起来都很好。 我很好奇的一个小问题是一小段代码实现了基于展望 future 可能的方 block 的最佳着法。
我有一段很长的java代码,它使用selenium webdriver和firefox来测试我的网站。如果我不能在这里复制它,请原谅我。它有一个无限的 while 循环来重复执行其功能。这就是它应该做
def retCursor(): host = "localhost" user = "disappearedng" db = "gupan_crawling3" co
与设计师相比,我更像是一名网络程序员,但目前我的工作要求我了解更多关于网页设计的知识。对不起,如果这个问题对专业人士来说太天真了。 在这个问题上卡了几个小时,不知道该怎么办... 请到我的博客查看底部
这是我的源代码: #include using namespace std; int main() { int numBoxes, // Number of boxes
我想要标记单词组的标签,其中: 标签在词组的左边 文字是用线括起来的,标签不是 文字缩进,标签不缩进 这里有一些东西会产生错误的格式。左侧边界应用于::before 生成的文本,缩进也应用于::bef
我运行了几个 python 子进程来将数据迁移到 S3。我注意到我的 python 子进程经常下降到 0%,并且这种情况持续超过一分钟。这会显着降低迁移过程的性能。 这是子流程的图片: 子进程执行以下
编辑:其他容器正常运行。 docker run hello-world 工作正常。 我正在尝试运行最新的 nginx docker 镜像。它无限期地挂起。我已经在 2 个单独的全新安装的 ubuntu
大家好,我要脱发了。我有一个试图连接到服务器的客户端,一切似乎都很好,使用 gethostbyname() , socket() , bind() ,但是当试图 connect()它只是卡在那里,服务
我正在尝试通过驱动器映射在远程服务器上运行批处理文件,如下所示,但进程挂起...... Enable-WSManCredSSP -Role Client -DelegateComputer somes
我刚开始使用 postman 。我在执行集合运行程序时遇到了这个错误“错误:套接字挂断”。我已经阅读了一些关于套接字挂断的帖子,它提到了发送请求并且服务器端没有响应并且可能超时。如何在 Postman
我正在 http 请求函数内调用异步函数。被调用的异步函数执行另一个 http 请求,但该 http 请求抛出错误 错误:套接字挂起 代码 var http = require("http")
我之前使用 arraylist 作为结构,但在这段代码中它不起作用。由于我找不到错误,有人可以帮助我吗? (我确信这是我的错误,但 IDE 没有说什么) 流程:首先是类(class)游戏。我调用 ru
我有一个简单的套接字服务器(用于 HL7 通信)。当它在生产中运行时间较长时,套接字线程会挂起并消耗大量 CPU 时间。 这是监听器线程的相关代码(缩短): public void run() {
我想使用以下代码创建一个信号量计数器: union semun arg_assistant; int max_ass = atoi(argv[1]); printf("Num massimo di a
我正在尝试让我的模型迁移到我正在使用的 postgress 数据库,该数据库在本地托管,我确认它已正常运行。 当我运行 sequelize db:migrate 时,它说 Loaded configu
有人知道为什么 IMemAllocator:GetBuffer 的任何原因吗? (Directshow) 挂起,除了所有正在使用的样本? 我有一个使用 GMFBridge by Geraint Dav
我一直在尝试使用 Java 的 ProcessBuilder 在 Linux 中启动一个应该“长期”运行的应用程序。该程序运行的方式是启动一个命令(在本例中,我正在启动一个媒体播放应用程序),允许它运
我需要获取一个文件列表,将它们修剪到目录路径并返回一个不同的列表。在某些情况下,这可能会处理超过 500 万个文件。 我遇到了一个问题,即核心进程因 CPU 使用率 0% 而挂起,原因我无法确定。 v
我是一名优秀的程序员,十分优秀!