0

在 OS X 10.7 或更高版本上运行时,只要 QTMovie 可编辑,QTMovieView 控制器中的光标区域就会变成完全黑色。因此,没有可见的光标,并且未指示选择。在 10.6.8 或更早版本上运行的相同代码可以正常工作。如果未设置“可编辑”属性,则光标按预期显示。

是的,我看过 AVFoundation,但我需要处理 QT 可以处理的任何格式,这比 AVFoundation 支持的要多得多。

为了确保我没有在我的代码中引入一些东西,我从头开始,按照 Apple Dev 文档设置一个简单的可编辑电影视图,结果总是一样的。这是我正在关注的示例:

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationTutorial/ExtendingMediaPlayerApplication/ExtendingMediaPlayerApplication.html#//apple_ref/doc/uid/TP40008155-CH5-SW1

此示例概述了使用 QTKit 设置基本应用程序并将 QTMovieView 放在窗口中并加载要播放的电影文件,然后使其可编辑。为了使电影可编辑,我遵循了以下示例:

    - (BOOL)readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError
    {
        QTMovie *newMovie = [QTMovie movieWithURL:absoluteURL error:outError];
        if (newMovie) {
            [newMovie setAttribute:[NSNumber numberWithBool:YES] forKey:QTMovieEditableAttribute];
            [self setMovie:newMovie];

        }
        return (newMovie != nil);
    }

为了测试这一点,注释掉该setAttribute行会使光标可见,但当然视频是不可编辑的。

我已经使用从 3.2.6 到 4.6 的 Xcode/Interface Builder 版本进行了尝试,结果相同。我尝试过 10.6、10.7 和 10.8 SDK。在 10.6.8 上构建的应用 10.6 SDK 在 10.7+ 上运行。播放很好,但它表现出控制器问题。使用较新的 SDK 构建不会改变这一点。这似乎是一个运行时问题。

没有错误报告。

有其他人看到这个吗?有已知的解决方法吗?我想出的唯一可能的解决方案是构建一个自定义控制器。

4

1 回答 1

0

只要在播放器播放时 QTMovieEditableAttribute = NO,您就会看到滑块拇指。

这部电影并不关心你改变了多少次属性,只要你尝试编辑时它是YES。

制作几个像 EDIT_ON 和 EDIT_OFF 这样的#define 来设置 QTMovieEditableAttribute 更容易——我发现这有助于清楚地括住我的编辑代码......

于 2013-04-15T17:25:18.830 回答