我发现在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");
}
答案 0 :(得分:1)
我不确定这是 的答案,但我之前遇到过这个问题。我的案例中的原因是一个文件,其编解码器仅由第三方插件支持(在我的情况下为Flip4Mac)。
在电影自动播放(无处)之后,才会调用加载状态通知。对于长媒体文件,它实际上看起来像是从不调用通知,因为我们在测试代码时很少等待5分钟或1小时的加载通知。对于用户来说,应用程序似乎只是没有加载文件。
让用户在系统偏好设置中禁用插件的自动播放加载解决了这个问题,但遗憾的是这个支持常见问题我无法解决,因为相关应用的用户经常使用Flip4Mac来支持来自普通数字的文件录音机。