在 iOS 中使用 AVFoundation 暂停和恢复同一文件的视频捕获

2024-01-11

我试图弄清楚如何实现在单个会话中重复暂停和恢复视频捕获的功能,但使用 AVFoundation 将每个新片段(每次暂停后捕获的片段)添加到同一视频文件中。目前,每次我按“停止”然后再次“录制”时,它只会将新的视频文件保存到我的 iPhone 相册中,并开始捕获到单独的/新文件。我需要能够一遍又一遍地按下“录制/停止”按钮...仅在录制处于活动状态时捕获视频和音频...然后当按下“完成”按钮时,拥有一个包含所有内容的 AV 文件分段在一起。所有这一切都需要在同一个捕获会话/预览会话中发生。

我能想到尝试这个的唯一方法是按下“完成”按钮时,获取每个单独的输出文件并将它们组合成一个文件......但我很确定基本上粘贴一堆单独的处理时间剪辑在一起是不可接受的。另外,这似乎是一种非常混乱且不必要的方法,代码太多。

有没有简单的方法可以在单个会话中暂停视频捕获并简单地恢复捕获到同一文件?或者还有其他想法吗?

如果不是太麻烦,示例代码会帮助我很多...我仍在学习和自学,所以我不太擅长遵循解释中的行话和术语。谢谢

编辑:这是我开始学习 AVFoundation 的项目...所以这是我想要更改以实现上述功能的代码:http://developer.apple.com/library/ios/#samplecode/AVCam/Introduction/Intro.html http://developer.apple.com/library/ios/#samplecode/AVCam/Introduction/Intro.html


您可以使用以下命令,而不是使用捕获会话中的电影文件输出AVCaptureVideoDataOutput并在您的委托中将样本传递给一个实例AVAssetWriterInput。然后您可以将预览与录制分离。如果您的委托没有将缓冲区转发给资产编写器,则不会有该部分的记录。

当您想要开始将第二个(及后续)会话记录到同一文件时,您需要调整时间戳,以便它们从您停止的点开始连续,并且您需要确保进行相同的操作调整音频和视频,使它们保持同步。所以有点繁琐,但肯定可行。

编辑:有一个iPhone 应用程序示例 http://www.gdcl.co.uk/2013/02/20/iPhone-Pause.html这证明了这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iOS 中使用 AVFoundation 暂停和恢复同一文件的视频捕获 的相关文章

随机推荐