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

Dan*_*thy 8 iphone video-capture objective-c avfoundation ios

我试图找出如何实现在单个会话中重复暂停和恢复视频捕获的功能,但是将每个新段(每次暂停后捕获的段)添加到同一视频文件中,使用AVFoundation.目前,每当我再次按"停止"然后再"录制"时,它只会将新的视频文件保存到我的iphone专辑中,并开始捕获到单独的/新文件.我需要能够一遍又一遍地按下"录制/停止"按钮...仅在录制有效时捕获视频和音频...然后当按下"完成"按钮时,有一个包含所有的AV文件细分在一起.所有这些都需要在同一个捕获会话/预览会话中发生.

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

有没有简单的方法可以在一个会话中暂停视频捕获,只需将捕获恢复到同一个文件?还是其他任何想法?

如果不是太麻烦,示例代码可以帮助我减轻...我仍然在学习和自学,所以我在解释中遵循术语和术语并不是很好.谢谢

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

Ger*_*ies 10

您可以使用AVCaptureVideoDataOutput而不是使用捕获会话中的电影文件输出,并在您的委托中将示例传递给AVAssetWriterInput的实例.然后,您可以将预览与录制分离.如果您的代理人没有将缓冲区转发给资产编写者,那么该部分就没有记录.

当您想要开始将第二个(和后续)会话记录到同一个文件时,您需要调整时间戳,以便它们从您停止的位置开始按顺序排列,并且您需要确保使用相同的文件.调整音频和视频,使他们保持沉没.所以有点繁琐,但肯定可行.

编辑:有一个示例iPhone应用程序,在http://www.gdcl.co.uk/2013/02/20/iPhone-Pause.html演示

G