GPUImage和AVAssetWriter将文件写入哪里?

时间:2015-11-10 18:20:48

标签: ios avfoundation gpuimage avassetwriter

我正在尝试使用Brad Larson的GPUImage库来录制视频文件。到目前为止,我遇到的问题是以下代码:

NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"];
unlink([pathToMovie UTF8String]); // If a file already exists, AVAssetWriter won't let you record new frames, so delete the old movie
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(480.0, 640.0)];

这是从他的GitHub页面中的示例中直接获取的 https://github.com/BradLarson/GPUImage

现在,我查看了源代码,我看到他做了常见的AVFoundation工作 - 创建AVAssetWriter实例并为其添加输入。我的问题是 @" Documents / Movie.m4v" 位于何处?我怎么能播放这个视频?或者我怎么访问它?我知道它位于运行时复制应用程序包的任意位置。我的目标是能够将视频写入图库或至少是我的应用创建的图库中的相册。有谁知道文件的写入位置?

1 个答案:

答案 0 :(得分:1)

也许我误解了,但电影位于路径pathToMovie(或网址movieURL

您可以使用以下内容播放:

#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>

// later
AVPlayerViewController *avc = [[AVPlayerViewController alloc] init];
avc.player = [[AVPlayer alloc] initWithURL:movieURL];
[myViewController presentViewController:avc animated:YES completion:nil];

如果要将文件下载到计算机,可以在Xcode中选择连接设备&gt;设备,然后选择您的应用程序并下载包。您的电影将位于Documents目录中。

要将其保存到图库,请执行

// TODO: use completion arguments for a better user experience
UISaveVideoAtPathToSavedPhotosAlbum(pathToMovie,nil,nil,nil);