objective-c - QTKit 找不到文件或目录

标签 objective-c cocoa qtkit

我正在尝试使用 qtkit 通过我的应用程序录制和播放电影。我在一个 View 中录制视频并将其显示到另一个 View 中。我是这样做的

- (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];
}

现在,在我的 View Controller 中,我将电影分配给我的电影播放器​​。

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

现在,此代码第一次可以工作,但我需要注册并显示多次。

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

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

我不确定这里发生了什么。苹果的示例代码能够多次录制,但由于某些原因,我必须先删除现有文件才能录制多次(尽管它第一次可以工作)。

如果需要,我很乐意提供更多详细信息。

编辑:如果我每次为视频使用不同的名称,则一切正常。所以这实际上是一个每次都使用相同名称进行录制的问题。

最佳答案

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

关于objective-c - QTKit 找不到文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263716/

相关文章:

swift - 如何在没有 Xcode 的情况下链接 CocoaPods 库(integrate_targets false)

audio - QTKit 没有正确混合音轨

macos - QTKit:确定 QTMovie 是否暂停?

objective-c - 如何在下载时播放 QuickTime 电影?

ios - 以编程方式实例化自定义 View Controller 并通过标签获取 subview

swift - macOS cocoa : TabViewController inside Window with Full Size Content View

objective-c - 哪个类(模型或 Controller 或 View 类)应该存在鼠标事件处理方法

objective-c - xcode 7 - 在 xcode 7 中找不到 "openssl/pkcs7.h"文件

iphone - 使用 CALayer 创建 .PNG 的笔触/轮廓?

ios - NS条件 : wait for a specified amount of time