来自图书馆的资产,即: assets-library://asset/asset.mov?id = 0399CB6D-D3D9-4F4C-82B9-AC93CCE2FB16& ext = mov
[UIVideoEditorController canEditVideoAtPath:videoPath]
总是返回
我在控制台中看到此错误:
<Warning>: Video assets-library://asset/asset.mov?id=0399CB6D-D3D9-4F4C-82B9-AC93CCE2FB16&ext=mov cannot be saved to the saved photos album: Error Domain=NSOSStatusErrorDomain Code=2 "This movie could not be played." UserInfo=0x6f7b90 {NSLocalizedDescription=This movie could not be played.}
帮助?
答案 0 :(得分:3)
显然无法使用UIVideoEditController
编辑图书馆资源。
我最终使用AVAssetWriter
将文件复制到应用程序沙箱,然后我可以使用UIVideoEditController
。
答案 1 :(得分:2)
我能够成功地编写视频曲目。我也可以将该文件保存到图库。视频播放原始文件的所有质量。但是无法复制音频缓冲区,因此视频无声播放。
但是如果我首先尝试写音频轨道然后是视频轨道,那么视频缓冲区的写入就会失败。那就是附加BOOL = [assetWriterInput appendSampleBuffer:buffer];没有返回NO。
写入音频曲目时会添加缓冲区。然后我取消了音频曲目的阅读器并开始阅读视频曲目。接着视频缓冲区失败。对于两个写入,我设置startSessionAtSourceTime:KCMTimeZero。
如果我只写视频缓冲区,那么视频将在没有音频的情况下播放。
我希望能够复制存在于图库中的.MOV文件,其中包含所有音频+视频轨道。
** * Purpoose:最后我想编辑使用UIVideoEditorController复制的文件。我们无法直接编辑gallery.Hence中的文件。我首先将其复制到沙箱中,然后进行编辑。