迅捷 – 用ARKIT拍摄视频

迅捷 – 用ARKIT拍摄视频,第1张

概述你好社区, 我尝试用Swift 4和即将推出的ARKit-Framework构建一个应用程序,但我陷入困境.我需要使用框架视频或至少是UIImage序列,但我不知道如何. 这就是我尝试过的: 在ARKit中,您有一个跟踪您的世界的会话.此会话有一个captureImage实例,您可以在其中获取当前图像.所以我创建了一个Timer,它将captureImage每0.1秒附加到List.这对我有用但如 你好社区,

我尝试用Swift 4和即将推出的ARKit-Framework构建一个应用程序,但我陷入困境.我需要使用框架视频或至少是UIImage序列,但我不知道如何.

这就是我尝试过的:

在ARKit中,您有一个跟踪您的世界的会话.此会话有一个captureImage实例,您可以在其中获取当前图像.所以我创建了一个Timer,它将captureImage每0.1秒附加到List.这对我有用但如果我通过点击“开始”按钮启动计时器,相机开始滞后.它不是关于我猜的定时器,因为如果我通过点击“停止”按钮使定时器无效,相机再次流畅.

有没有办法解决滞后甚至更好的方法?

谢谢

我能够使用 ReplayKit来做到这一点.

看看ReplayKit是什么样的

在您的iOS设备上,转到设置 – >控制中心 – >自定义控件.将“屏幕录制”移动到“包含”部分,然后向上滑动以调出控制中心.您现在应该看到圆形屏幕录制图标,您会注意到当您按下它时,iOS会开始录制您的屏幕.点击蓝色条将结束录制并将视频保存到照片.

使用ReplayKit,您可以让您的应用程序调用屏幕录制器并捕获您的ARKit内容.

如何

要开始录制:

rpscreenrecorder.shared().startRecording { error in    // Handle error,if any}

要停止录制:

rpscreenrecorder.shared().stopRecording(handler: { (prevIEwVc,error) in    // Do things})

完成录制后,.stopRecording会为您提供一个可选的RPPreviewViewController,即

An object that displays a user interface where users prevIEw and edit a screen recording created with ReplayKit.

因此,在我们的示例中,如果它不是nil,则可以显示prevIEwVc

rpscreenrecorder.shared().stopRecording(handler: { (prevIEwVc,error) in    if let prevIEwVc = prevIEwVc {        prevIEwVc.delegate = self        self.present(prevIEwVc,animated: true,completion: nil)    }})

您可以直接从prevIEwVc编辑和保存视频,但您可能想让自己(或某人)成为RPPreviewViewControllerDelegate,因此您可以在完成后轻松关闭预览视图.

extension MyVIEwController: RPPrevIEwVIEwControllerDelegate {    func prevIEwControllerDIDFinish(_ prevIEwController: RPPrevIEwVIEwController) {        // Called when the prevIEw vc is ready to be dismissed    }}

注意事项

您会注意到startRecording将记录“应用程序显示”,因此如果您有任何视图(按钮,标签等)也将被记录.
我发现在录制时隐藏控件很有用,让我的用户知道点击屏幕会停止录制,但我也读过其他人成功将其基本控件放在单独的UIWindow上.

从录音中排除视图

单独的UIWindow技巧有效.我能够制作一个覆盖窗口,我有一个记录按钮和一个计时器,这些都没有记录下来.

let overlayWindow = UIWindow(frame: vIEw.frame)let recordbutton = UIbutton( ... )overlayWindow.backgroundcolor = UIcolor.clear

默认情况下将隐藏UIWindow.因此,当您想要显示控件时,必须将isHIDden设置为false.

祝你好运!

总结

以上是内存溢出为你收集整理的迅捷 – 用ARKIT拍摄视频全部内容,希望文章能够帮你解决迅捷 – 用ARKIT拍摄视频所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1047951.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存