我发现在 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");
}
最佳答案
我不确定这就是答案,但我以前遇到过这种情况。在我的例子中,原因是一个文件的编解码器仅受第三方插件支持(在我的例子中是 Flip4Mac)。
直到电影自动播放(无处播放)结束后才会调用加载状态通知。对于长媒体文件,实际上看起来永远不会调用通知,因为在测试代码时我们很少等待 5 分钟或一个小时来等待加载通知。对于用户来说,应用程序似乎根本没有加载文件。
让用户在系统偏好设置中禁用插件的自动加载播放功能可以解决该问题,但不幸的是,我无法绕过这一支持常见问题解答,因为相关应用程序的用户经常使用 Flip4Mac 来支持来自常见数字的文件录音机。
关于cocoa - 为什么 QTMovieLoadStateDidChangeNotification 没有触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16349353/