Я хотел бы сделать следующее:
- воспроизвести мастер-фильм быстрого времени (prores или pjpg) на одном экране (со звуком)
- воспроизвести другой подчиненный фильм быстрого времени (prores или pjpg) на другом экране, синхронно с мастером
- , когда я нажимаю влево или вправо, циклически переключаясь между различными ведомыми фильмами
Вот что я сделал:
- создать NSWindow для каждого экрана
- создать массив QTMovies (фактически массив массивов на экран)
- создать массив QTMovieViews (фактически массивмассивов на экран)
- нормально воспроизводить мастер QTMovie
- настроить NSTimer для обновления текущего времени подчиненного фильма по времени мастер-фильмов
- , если нажата клавиша, поменять местамипредставление содержимого окна с новым QTMovieView
мой полный код находится на http://codepad.org/gDsJLPAy
Все это работает, однако, когда я переключаю видео, я получаю однокадровую вспышкустарый кадр видео переключается на.Т.е., если я запускаю приложение на 50 кадров и переключаюсь на SlaveVideo2, я мельком вижу SlaveVideo2 кадр 0, а затем он сразу же переходит на SlaveVideo2 кадр 50 и продолжает работу как обычно.Если после 20 кадров я переключаюсь обратно на SlaveVideo1, я мельком вижу SlaveVideo1 кадр 50, а затем он переходит на SlaveVideo1 кадр 70 и продолжает работу как обычно.
Я схожу с ума, пытаясь понять это.Я пробовал все виды обновления, методы отображения, но безрезультатно.Любые идеи о том, как я могу это исправить?
PS Вы можете увидеть в timerFireMethod, если я обновляю все ведомые фильмы все время (вместо только активного), я не получаю мерцание.Очевидно, что это не решение, поскольку я постоянно ищу тонны видео, которые слишком тяжелые и ненужные!
PPS Я попытался воссоздать настройку в Quartz Composer, и у меня точно такая же проблема.
Я нахожусь на 10.7.3