当使用OS X 10.7或更高版本运行时,只要QTMovie可编辑,QTMovieView控制器中的光标区域就会变为全黑。因此,没有可见光标,并且未指示选择。在10.6.8或更早版本上运行的相同代码工作正常。如果未设置“editable”属性,则光标将按预期显示。
是的,我看过AVFoundation,但我需要处理QT可以处理的任何格式,这比AVFoundation支持的要多得多。
为了确保我没有在我的代码中引入一些东西,我从头开始,按照Apple Dev文档设置一个简单的可编辑电影视图,结果总是一样的。这是我跟随的例子:
此示例概述了使用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构建不会改变这一点。这似乎是一个运行时问题。
未报告任何错误。
还有其他人看到这个吗?有没有已知的解决方法?我提出的唯一可能的解决方案是构建自定义控制器。
答案 0 :(得分:0)
只要播放器播放时QTMovieEditableAttribute = NO,您就会看到滑块拇指。
电影不关心您更改属性的次数,只要在您尝试进行编辑时为“是”。
使用EDIT_ON和EDIT_OFF之类的#defines来设置QTMovieEditableAttribute更容易 - 我发现这有助于清楚地包括我的编辑代码......