ios - 使用 AVFoundation,我可以在用户按下按钮时捕获最后 5 秒吗?

标签 ios avfoundation

考虑以下场景:

用户加载一个带有摄像头和自定义按钮的应用作为其主视图。 在相关 View Controller 的 viewDidLoad 上,我正在启动一个 AVSession(所以它现在正在运行) 用户点击自定义按钮的那一刻,我想在用户按下该按钮之前捕获 5 秒的视频。当然,这可能少于 5 秒。

我将如何着手实现它?我已经研究 AVFoundation 一天左右了,试图学习基本概念并慢慢理解它,我目前正在使用 Apple 的 AVCam 项目,这非常有帮助。

在这个阶段,我应该查看指向类的指针,概念解释或代码片段将是最受欢迎的。

谢谢

编辑:关于我想要实现的目标的更多信息,基本上当我在我的 AVSession 上调用 startRunning 时,它将更新我在应用程序中拥有的预览层,以便用户可以看到它们将是什么拍摄。我还希望该数据流式传输到缓冲区/文件,可以在点击按钮时保存该缓冲区/文件。

谢谢

最佳答案

如何连续录制到一个文件,然后在按下按钮时从该文件复制最后 5 秒?

在内存中缓冲视频永远行不通,而且据我所知,如果不保存到文件就无法进行硬件压缩。

关于ios - 使用 AVFoundation,我可以在用户按下按钮时捕获最后 5 秒吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21338105/

相关文章:

ios - 我该如何处理这个警告 : hash mismatch?

ios - b2PolygonShape/b2Fixture 尺寸加倍以用于视网膜显示?

ios - 如何让 AVAssetReader 循环?

ios - 过滤并显示 AVAsset,无需完全处理

frameworks - CoreMedia.CMTime

iphone - 如何在 Tab Bar + NavigationControllers 应用程序中启用横向?

ios - 注册本地通知

iphone - 在 SQLite 中获取表中填充行的总数

ios - Replaykit Assets 编写器状态随机失败

avfoundation - AVAssetWriting ,以未压缩格式写入