Почему QTMovieLoadStateDidChangeNotification не запускается?

Я вижу, что настройка уведомления на QTMovieLoadStateDidChangeNotification не имеет никакого эффекта, и селектор цели никогда не вызывается. Я что-то пропустил?

В пробуждении от Nib:

[[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");
}

1 ответ

Я не уверен, что это ответ, но я сталкивался с этим раньше. Причиной в моем случае был файл, кодек которого поддерживался только сторонним плагином (Flip4Mac в моем случае).

Уведомление о загрузке не вызывается до тех пор, пока фильм не завершится после автоматического воспроизведения (в никуда). Для длинных медиа-файлов это выглядит так, будто уведомление никогда не вызывается, поскольку мы редко ждем уведомления о загрузке 5 минут или час при тестировании нашего кода. Для пользователя это выглядит так, будто приложение просто не загружает файл.

Если пользователь отключил функцию автоматического воспроизведения при загрузке плагина в Системных настройках, это решит проблему, но, к сожалению, этот раздел часто задаваемых вопросов по поддержке я не могу обойти, так как пользователи рассматриваемого приложения часто используют Flip4Mac для поддержки файлов из обычных цифровых диктофонов.

Другие вопросы по тегам