在我们花了相当多的时间在这个问题上没有结果之后,我决定在这里问它。
在captureOutput函数中使用AVCaptureVideoDataOutput获取摄像头的实时视频像素数据。但我们也想用这些数据来记录视频。此外,我们想知道这段录像是否会像用AVCaptureMovieFileOutput录制的录像那样被压缩。
我想通知你,使用AVCaptureMovieFileOutput我们可以毫无问题地进行录制。但是AVCaptureMovieFileOutput和AVCaptureVideoDataOutput不能同时工作。
你可以在下面找到我们的captureOutput函数;
fu
我想知道是否有一种很好的方法来定义函数captureOutput,它接受一个可能包含f语句的函数,并返回f打印的任何内容。例如,
let f x = print "%s" x
let op = captureOutput (f "Hello World")
val op : string = "Hello World"
我在想,也许有一种很好的方法可以用Console.ReadLine()异步地完成这个任务,但是我还没有解决任何问题。
干杯
编辑:
根据费奥多·索伊金的评论,下面的代码做了我想做的事情:
let captureOutput f
我开始开发一个iOS应用程序,这是我第一次发布这样的文章。我正在尝试实现一个UI视图,它可以显示后摄像机的预览视频,并处理捕获的帧。我的预览层工作得很好,我可以在UI视图中看到图片显示。但是,从来没有调用过captureOutput函数。
我已经在网上搜索了一段时间的silimar问题和解决方案,并试图调整不同的内容,包括输出、连接和调度队列设置,但都没有奏效。有人能帮我或分享一些见解和方向吗?提前谢谢!
下面是我的代码,我使用Xcode 11 beta和iOS 10作为构建目标。
class ThreeDScanningViewController: UIViewController,
A
我有这个功能
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) {
// Check if the metadataObjects array is not nil and it contains at least one object.
if metadataObjects == nil || metadataObjects.count ==
我正在尝试实现一个视图,它可以显示后摄像头的预览视频,并处理捕获的帧。我想使用两个输出:一个用于保存视频,另一个用于处理每一帧。
let movieOutput = AVCaptureMovieFileOutput()
let videoDataOutput = AVCaptureVideoDataOutput()
我已经将代理添加到我的视图控制器中:
class ViewController: UIViewController, AVCaptureFileOutputRecordingDelegate, AVCaptureVideoDataOutputSampleBufferDelegate
我在生成itemID的类firstViewController中有这个函数
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) {
// Check if the metadataObjects array is not nil and it contains at least one object.
if metadataObjects =
我一直很难找到一种使用AVCaptureSession保存录制视频的方法
这是我的代码:
@IBOutlet weak var tv: UIView!
var session:AVCaptureSession?
var output: AVCaptureVideoDataOutput?
var previewLayer: AVCaptureVideoPreviewLayer?
var out:AVCaptureMovieFileOutput!
var outPath:NSURL?
...on视图加载函数
super.viewDid
我写了一个扫描条形码的代码。我想在扫描条形码时显示视图。这是我的条形码扫描码
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) {
// Check if the metadataObjects array is not nil and it contains at least one object.
if metadataObject