- 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/
编辑:其他容器正常运行。 docker run hello-world 工作正常。 我正在尝试运行最新的 nginx docker 镜像。它无限期地挂起。我已经在 2 个单独的全新安装的 ubuntu
我正在尝试求多项式的不定积分,但是我的数学和编码都不是很好。我的代码可以编译,但我相信我的公式有误: Polynomial Polynomial :: indefiniteIntegral() co
在 .NET 中,许多接受 TimeSpan 的方法将 TimeSpan.FromMilliseconds(-1) 视为无限期等待。这相对容易输入,可以这样定义: static class Caros
标题或多或少说明了一切。尝试 workon $SOME_VIRTUALENV 回显命令,然后在高 CPU (~70%) 下无限期挂起,直到 kill -9。在 OS X Mavericks 上。 我四
更新 Android SDK 后,我启动了 Android Studio。现在它显示后台任务持续运行并显示消息 Updating indices: Scanning files to index. 在
当我使用 selectInput() 创建“打开文件”按钮时。问题在于,每次用户选择文件时,程序都会不断打开窗口。如何防止这种情况发生? void setup() { size(500, 500)
我有一个 bash 脚本,可以将一行字符串无限期地附加到文件中。 我正在尝试使用 fs.readStream 获取文件中的更改,并通过 websocket 将新附加的行流式传输回用户。 基本上,这个想
我有一个 postgres 表(300Mb 大小),它在逻辑上被复制到另一台服务器。在我进行一些更改之前,一切都非常好。然后 master 开始增长(大约在 5 分钟内以 15 MB 的速度增长到 2
我的作业要求命令行输入通过嵌套的 while 循环来判断一个数字是否是一个快乐的数字。到目前为止我有这个: int i = 0; int sum = 0; int dig2, dig1, dig3,
到目前为止,我已经设法让我的页脚始终贴在底部,但是,我一直在努力让我的网页上的内容或图像将页脚向下推。我一直在尝试页脚的绝对、固定、相对位置,但无济于事,因为类“container2”中的内容继续位于
我有这个扩展,我正在使用它作为信号灯效果。它会淡出和淡入,但只有一次。 如何重复? 如何在用户输入之前重复它?扩展名下方的 IBAction。 extension UIView { func fade
我已经使用 iOS 4 和 5 中提供的 AVFoundation 框架实现了相机,但一直遇到 captureStillImageAsynchronouslyFromConnection:comple
在我的项目中,我使用 Spring Data Neo4j (3.4.2.RELEASE) 以及使用嵌入式数据库的基于 AspectJ 的“高级映射”模式。我还通过@EnableTransactionM
我知道这个问题已经被问过几次了,但我还没有找到令人满意的答案,因为 Google 的 GCM 教程中的一段文本让我感到困惑: A given regID is not guaranteed to la
许多关于设备驱动程序编程的指南建议流式 DMA 映射(即由 dma_map_single() 和 friend 创建的映射)尽可能短地保持打开状态,因为它们会消耗资源(即IOMMU 映射资源(如果平台
我们有一个相当大的应用程序在 JBoss 7 应用服务器上运行。过去,我们使用 ParallelGC,但它在一些堆很大(5 GB 或更多)并且通常几乎填满的服务器中给我们带来了麻烦,我们会经常遇到很长
我正在尝试使用以下代码读取本地存储的音频文件的持续时间: #import #import #import AVPlayer *player = [AVPlayer playerWithURL:
我有一个 super 基本的 AVCaptureSession,设置了 AVCaptureVideoDataOutput 和 AVCaptureStillImageOutput。 AVCaptureV
我想确定使用 NbClust 包进行聚类的最佳 k。我的数据同时具有连续变量和分类变量,因此我使用了使用集群包中的 daisy() 计算的相异矩阵。我使用了下面的代码: res.nb <- NbCl
成功部署后,我根本无法查看或访问我的其余端点。我查阅了文档,我的理解是该应用程序将运行在: https://.appspot.com 或 https://-dot--dot-.appspot.com.
我是一名优秀的程序员,十分优秀!