Iphone 如何使用从相机捕获的UIImage创建AVAsset?

Iphone 如何使用从相机捕获的UIImage创建AVAsset?,iphone,ios,avfoundation,Iphone,Ios,Avfoundation,我是一个新手,尝试使用AVFoundation和 要在不使用AVCaptureVideoPreviewLayer的情况下渲染捕获的帧。我 想要一个滑动控件能够减慢或加快 照相机图像 以其他人的代码为例,我可以捕获图像并使用NSTimer, 使用我的滑块控件可以动态定义显示它们的频率,但我 无法将图像转换为我可以显示的内容。我想把这些搬走 将图像转换为UIView或UIImageView,并在timer Fire函数中渲染它们 我看过苹果的AVCam应用程序(它使用AVCaptureVideoPr

我是一个新手,尝试使用AVFoundation和 要在不使用AVCaptureVideoPreviewLayer的情况下渲染捕获的帧。我 想要一个滑动控件能够减慢或加快 照相机图像

以其他人的代码为例,我可以捕获图像并使用NSTimer, 使用我的滑块控件可以动态定义显示它们的频率,但我 无法将图像转换为我可以显示的内容。我想把这些搬走 将图像转换为UIView或UIImageView,并在timer Fire函数中渲染它们

我看过苹果的AVCam应用程序(它使用AVCaptureVideoPreviewLayer) 但因为它有自己的内置AVCaptureSession,我无法调整 显示图像。(您可以调整预览层帧速率,但 这不能在飞行中完成)

我已经看过了AVFoundation编程指南,其中谈到了AVAssets 和AVPlayer等,但我看不出如何将相机图像转化为图像 阿瓦塞特。当我看AVFoundation指南和其他演示如何 为了定义一个AVAsset,它只给我选择使用http流数据来 创建资产或url以使用现有文件定义资产。我不能 找出如何将我捕获的UIImage制作成AVAsset,我想在这种情况下 我可以使用AVPlayer、AVPlayerItems和AVAssetTracks来显示图像 observeValueForKeyPath函数检查状态并执行[myPlayer play]。 (我还研究了WWDC第405期课程“探索AV基金会”,以了解如何 (已完成)

我尝试过类似于WWDC会话409“在iPhone上使用摄像头”中的代码 就像MyOne演示一样,我可以设置设备、输入、捕获会话, 输出、设置CMSampleBuffer的回调函数以及 可以收集UIImages并调整其大小,等等。此时,我想发送该图像 到UIView或UIimageView。第409课时只讨论了如何使用 CFShow(采样缓冲区)。这没有解释,我想这只是假设 我还没有了解核心基础知识。我想我是在扭转局面 在示例缓冲区中输出到UIImage,但我不知道如何渲染 信息技术我在我的nib文件中创建了一个IBUIImageView,但是当我尝试填充 如果将图像插入该视图,则不会显示任何内容。我需要AVPlayerLayer吗

我已经将UIImagePickerViewController视为一种替代方法 控制我显示捕获的相机图像的频率,但我看不出我 也可以使用该控制器动态更改显示图像的时间

所以,正如你所看到的,我正在通过苹果发展论坛和 他们的文档、WWDC视频和各种网站,如 stackoverflow.com,但还没有看到任何相机到屏幕的例子 不使用AVCaptureVideoPreviewLayer、UIImagePickerViewController或 使用尚未成为文件或http流的AVAsset


有人能提个建议吗?提前感谢。

AVFoundation编程指南中介绍了您想做的大部分工作:。另外,请参阅CIImage的文档,了解如何将CMSampleBuffer转换为图像,您可以使用该图像生成UIImage。也就是说,这可能会非常慢,最好是渲染到EAGL层。有一篇关于objc.io的文章介绍了这个问题:这个问题太广泛了,无法给出一个好的答案。试着把它缩小到可以用代码示例来回答的范围。或者把它分成不同的问题。很可能你正在寻找的答案已经被以其他方式询问过了,在这种情况下,友好的StackOverflow巨魔会引导你找到副本。