我有一个Cocoa应用程序,应该完全同步播放两个不同的QTMovie对象。这两部电影的分辨率,大小等都相同,但可能有不同的长度。电影是压缩的,它们必须是多线程的。
我目前的方法是:
NSMutableDictionary *movieAttributes1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:NO], QTMovieOpenAsyncOKAttribute,
[NSNumber numberWithBool:YES], QTMovieOpenForPlaybackAttribute,
nil];
[movieAttributes1 setValue:pathOfFile1 forKey:QTMovieFileNameAttribute];
NSMutableDictionary *movieAttributes2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:NO], QTMovieOpenAsyncOKAttribute,
[NSNumber numberWithBool:YES], QTMovieOpenForPlaybackAttribute,
nil];
[movieAttributes2 setValue:pathOfFile2 forKey:QTMovieFileNameAttribute];
QTMovie* leftMovie = [QTMovie movieWithAttributes:movieAttributes1 error:nil];
QTMovie* rightMovie = [QTMovie movieWithAttributes:movieAttributes2 error:nil];
....
[leftMovie play];
[rightMovie play];
在播放按钮ClickHandler中完成。
在10个案例中有9个可行,但有时电影是异步播放的。我也确定它们会在高CPU负载的情况下变得异步。
有什么想法吗?非常感谢。
答案 0 :(得分:0)
我不相信在API中有任何支持的方法。您可能需要定期同步它们。
要执行此操作,请设置一个计时器,将第二部电影的精确时间设置为每秒或半秒的精确时间。如果要么超过另一个的最大持续时间,请停止计时器并使其正常运行。