首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTKit找不到文件或目录

QTKit找不到文件或目录
EN

Stack Overflow用户
提问于 2011-06-07 18:10:40
回答 3查看 334关注 0票数 1

我正在尝试用我的应用程序使用qtkit录制和播放电影。我在一个视图中录制视频,然后将其显示到另一个视图中。我是这样做的:

代码语言:javascript
复制
- (void)startRecording
{
    NSString *applicationSupportDirectory = [[NSFileManager defaultManager] applicationSupportDirectory];
    NSString *path = [applicationSupportDirectory stringByAppendingPathComponent:kVideoOutputName];

    NSURL *url = [NSURL fileURLWithPath:path];

    // Delete the previous file
    [[NSFileManager defaultManager] removeItemAtURL:url error:nil];

    mCaptureMovieFileOutput.delegate = self;
    [mCaptureMovieFileOutput recordToOutputFileURL:url];
}

- (void)stopRecording
{
    [mCaptureMovieFileOutput recordToOutputFileURL:nil];
}

- (void)captureOutput:(QTCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL forConnections:(NSArray *)connections dueToError:(NSError *)error
{
    // [[NSWorkspace sharedWorkspace] openURL:outputFileURL];

    // removes the current view
    [self cleanView];

    MyViewController *controller = [[SharingViewController alloc] init];
    controllerpath.path = outputFileURL;

    [self.view addSubview:[controller view]];

    [self stopCamera];
}

现在,在我的视图控制器中,我将电影分配给我的电影播放器。

代码语言:javascript
复制
- (void)awakeFromNib
{
    NSError *error;
    moviePlayer.movie = [QTMovie movieWithURL:path error:&error];
    NSLog(@"%@", [error localizedDescription]);
}

现在,这段代码在第一次运行,但我需要多次注册和显示。

这里已经有一个问题了。如果我想要多次录制视频,我必须删除第一个视频,否则在第一次录制之后,它将不会录制任何内容(它会报告文件已经存在)。

问题是,在第一次之后,它也根本不显示视频。当我使用file :path error:&error;执行QTMovie movieWithURL:path error:&error;时,它报告文件或目录不存在,而实际上它确实存在(我还检查了QTMovie canInitWithUrl:)。

我不知道这是怎么回事。苹果的示例代码可以多次录制,但由于某些原因,我必须先删除已有的文件才能录制(不过第一次就行了)。

如果需要的话,我很乐意提供更多的细节。

编辑:如果我每次对视频使用不同的名称,一切都会正常工作。所以这确实是一个关于每次使用相同的名称进行记录的问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-12 17:06:58

我最终为每个文件使用了不同的文件名。

票数 0
EN

Stack Overflow用户

发布于 2011-06-25 01:29:19

我遇到了同样的问题,我发现在重用相同的文件名之前,将电影视图设置为nil解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2012-11-12 05:19:53

我在创建QTMovie时遇到了同样奇怪的问题。我只是将文件加载到一个NSData对象中,就像这样,它工作了:

代码语言:javascript
复制
[self setMovieData:[NSData dataWithContentsOfURL:[self movieURL]]];
[self setMovie:[QTMovie movieWithData:[self movieData] error:&error]];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6263716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档