1

我看到在 QTMovieLoadStateDidChangeNotification 上设置通知无效,并且永远不会调用目标选择器。我错过了什么吗?

在 awakeFromNib 中:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(movieLoadStateDidChange:)
                                             name:QTMovieLoadStateDidChangeNotification
                                           object:nil];

在加载电影时:

NSNumber *num = [NSNumber numberWithBool:YES];
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
 url, QTMovieURLAttribute,
 nil];

self.mQTMovie1 = [[QTMovie alloc] initWithAttributes:attributes
                                               error:&error];

- (void)movieLoadStateDidChange:(NSNotification *)notification {
NSLog(@"movieLoadStateDidChange got called");
}
4

1 回答 1

1

我不确定这是不是答案,但我以前遇到过。在我的情况下,原因是一个文件的编解码器仅由第三方插件(在我的情况下为 Flip4Mac)支持。

在电影自动播放(到无处)完成之前,不会调用加载状态通知。对于长媒体文件,它实际上看起来从未调用过通知,因为在测试我们的代码时,我们很少等待 5 分钟或一个小时来等待加载通知。对用户来说,看起来应用程序根本没有加载文件。

让用户在系统偏好设置中禁用插件的加载时自动播放可以解决问题,但不幸的是,我无法解决这个支持常见问题解答,因为相关应用程序的用户经常使用 Flip4Mac 来支持来自普通数字录音机的文件。

于 2013-05-03T20:33:11.220 回答