1
我有一个Cocoa应用程序应该播放完全同步的两个不同QTMovie对象。两部电影在分辨率,尺寸等方面都相同,但可能有不同的长度。电影是压缩的,它们是多线程的必要条件。同步播放两个QTMovie
我目前的aproach是:
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负载过高的情况下变成异步的。
任何想法?非常感谢。
谢谢,我试过类似 [leftMovie setCurrentTime:[rightMovie currentTime]]; 但事情会变得更糟。 我相信我必须仔细看看QuickTime API而不是QTKit。 – 2010-11-21 13:57:59