hue*_*ice 5 objective-c video-processing ios
在我的应用程序中,我正在渲染从我从用户照片中检索的图像生成的视频.我设置了一个AVAssetwriter与AVAssetwriterInput有AVAssetWriterInputPixelBufferAdaptor.我能够从用户库改造ALAsset对象我检索到CVPixelBuffers并将其添加到视频,然后保存为MP4.将所有图像添加到视频是在后台线程上完成的,后台线程每帧都向主线程发送一个通知,因此可以更新接口.所有这一切都很好,我从应用程序中获得了一个可用的电影文件.
我现在的问题是,当用户进入另一个应用程序时,再次变为活动状态后ALAssetWriter的状态变为"失败",我无法再向影片文件添加任何图像.首先,我想我可能不得不结束作者的当前会话并重新打开一个新的,一旦应用程序再次变得活跃,但这似乎没有帮助.
我只是想知道当我希望用户输入其他应用程序时的一般方法.如果渲染可以在后台继续,那么最好的解决方案就是.我想我需要UIApplication的后台线程.但是现在我很高兴,如果渲染可以在恢复我的应用程序后继续.
我现在不会发布任何代码,因为它真的很多,我的问题可能是概念性的.如果你需要查看代码,我会发布它.
编辑1:在iOS 4.3和iOS 5上测试过.我在其他应用程序(如iTimelapse)上看过后台渲染,但我不确定他们使用哪些框架.
Edit2:我现在有一个苹果devforum成员的信息,AVAssetWriter在后台不起作用.那么有没有其他框架能够呈现快速视频?
事实证明,AVAssetWriter无法在暂停的应用程序中存活.您可以通过请求后台时间添加额外10分钟的渲染时间,但之后AssetWriter会失败.如果您在手机上使用某些服务,也会发生相同情况 例如,拨打或接听电话也会使AVAssetWriter失败.
| 归档时间: |
|
| 查看次数: |
1774 次 |
| 最近记录: |