Почему 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 для поддержки файлов из обычных цифровых диктофонов.