问题标签 [avcaptureoutput]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
244 浏览

swift - AVCaptureMetadataObjectDelegate 未收到回调

我正在制作 QR 扫描仪。当所有代码都写在内部的一个地方时,我的代码正在工作,ViewController但是当我将它模块化时,我没有得到内部回调AVCaptureMetadataOutputObjectsDelegate

我的二维码扫描仪代码看起来像

我已经实现了QRScannerDelegate我的,ViewController但我没有得到任何东西。此外,我AVCaptureMetadataOutputObjectsDelegate什至没有得到回调。

我尝试传递ViewController实例,AVCaptureMetadataOutputObjectsDelegate然后我收到扫描信息的回调。

所以我的问题是为什么会发生这种情况?

1)当我通过普通课程时,因为AVCaptureMetadataOutputObjectsDelegate我没有得到回调。但。

2)当我传递UIViewController实例时,AVCaptureMetadataOutputObjectsDelegate我能够得到回调。

更新

这就是我从我的电话中调用 prepareCamera 的方式View Controller

0 投票
0 回答
176 浏览

swift - AVCaptureDevice 配置花费不可预测的时间传播到连接的 AVCapturePhotoOutput

我正在尝试修改所拍照片的曝光时间。

在循环内:

我将 AVCapture 设备的曝光设置为我的自定义值:

然后我打印该值以确保它已正确设置:

然后我拍照:

不知何故,当我以不同的曝光循环浏览上述代码时,照片最终会得到错误的曝光。具体来说,第一次运行正常。第二个有时会在第一次曝光时拍照,有时会在第二次曝光时拍照。第三个有时会在第二次曝光时拍照,有时会在第三次曝光时拍照,依此类推。

有趣的是,当我在拍照前插入一个长的,比如说 1-3 秒的暂停时,所有的曝光都设置正确......所以看起来 AVCaptureDevice 的更改需要时间来传播,并且 photoOutput在正确设置曝光之前冲过去拍摄照片。

有没有人有任何想法?似乎在文档中找不到任何关于它的内容。

0 投票
0 回答
47 浏览

ios - 在本机 IOS 应用程序中工作的 Objective C 类在添加到 nativescript 时停止工作

我有一个在 Objective C 中创建的视频录制类,它可以工作,当我在本机应用程序中运行它时,我可以查看录制中的所有帧。该类基本上创建和 AVCaptureSession 并设置它。您需要做的就是将 UIView 传递给它,然后它会创建预览视图和所有内容。

我将该类添加到我正在开发的 nativescript 插件中。我设置它并创建预览视图。但是,当我在 1 秒后开始录制时,它会丢弃所有帧。我正在运行与本机 ios 应用程序中完全相同的类和函数,但由于某种原因在本机脚本上它会丢弃类中的所有帧。该类在 nativescript 中具有不同的行为。

我有一种感觉,这与 IOS 上的 ARC 有关,也许它释放了一些导致它在 nativescript 但不是常规的本地 ios 中混乱的东西。什么可能导致这种情况,我将如何解决它?

这是我用来调用我在 nativescript 插件中创建的 Objective C 类的代码。它假设总是调用 processFrame 块,而是在 nativescript 中对 processDroppedFrame 块进行分类。它在常规目标 c 中正常运行。

0 投票
1 回答
504 浏览

swift - 为什么我的 AVCapturePhotoOutput 文件输出这么大?

我正在创建一个相机应用程序,一切运行良好,但上传到 Firebase 的照片的文件大小太大。它们属于 3MB 类别,我希望它们属于 ±600KB 类别。

我已将AVCapturePhotoSettings.isHighResolutionPhotoEnabled设置为false 但这似乎没有任何作用,并且AVCapturePhotoOutput.quality.balanced仅适用于 iOS13+,这在我的情况下不起作用。

这是将图像发送到我的 imageArray 的委托函数

}

这是我的 takePhoto() 方法:

0 投票
0 回答
53 浏览

ios - VNImageRequestHandler 和 AVCaptureVideoDataOutput videoSettings 与 kCVPixelFormatType_420YpCbCr8BiPlanarFullRange

VNImageRequestHandler我们必须通过CVImageBuffer

这基本上是AVCaptureVideoDataOutput具有特定视频设置的输出。

问题1:必须是kCVPixelFormatType_420YpCbCr8BiPlanarFullRange还是可以kCVPixelFormatType_32BGRA

问题 2:如果它允许 32BGRA,那么何时使用kCVPixelFormatType_32BGRA以及如何VNImageRequestHandler区分 YCBCR 和 32BGRA 以实现最佳和高效的图像识别?

0 投票
3 回答
4619 浏览

ios - 将数据从 ViewController 传递到 Representable SwiftUI

我正在进行对象检测并用于UIViewControllerRepresentable添加我的视图控制器。问题是我无法将数据从我的 SwiftUI 视图传递ViewController到我的 SwiftUI 视图。我可以打印它。

有人能帮我吗?这是我的代码:

0 投票
1 回答
69 浏览

ios - captureOutput not being called from delegate

So I realize there are several questions about this but I feel like I've reviewed them all and still haven't figured out what I did wrong or different. I call this class from a function that I know happens after viewDidLoad. What I am trying to do is be able to take a video stream from a given AVCaptureDevice or camera id and pass this into a WebView as a series of evaluateJavascript calls, I may need to optimize this later but I'm having trouble just getting captureOutput to be called. Certainly, I don't need a preview to be able to capture the output do it? I've confirmed the permissions are correct and the code reaches the point where the sample buffer delegate is being set on the capture session. Any ideas?

}

The calling code: