Как перехватить событие нажатия следующей кнопки MPMoviePlayer в полноэкранном режиме на iPad?
Когда MPMoviePlayerViewController
в полноэкранном режиме на iPad, по умолчанию он имеет элементы управления, чтобы иметь на нем предыдущую и следующую кнопку. В моем проекте мне нужно захватить щелчок для этой кнопки наложения и обработать его соответствующим образом. Так как я не знаю, как вызвать список воспроизведения, пока нет следующего элемента, и нажатие на кнопку прерывает просмотр, как только я выхожу из полноэкранного режима. Почему-то он просто не знает, что делать, и я не получаю ошибок.
Я хотел бы знать, есть ли способ прослушать / поймать это событие из fullscreen
следующая и предыдущая кнопки?
Я также попытался получить оверлей со своими собственными элементами управления, чтобы жить на MPMoviePlayer
, MPMoviePlayerController
и MPMoviePlayerViewController
без успеха. Как только игрок входит fullscreen
В режиме любое наложение, которое присутствовало, игнорируется и не переносится вместе с масштабированием экрана.
Есть ли надежный способ наложения в то время как в fullscreen
Режим? Я посмотрел на образец от Apple, но это, кажется, не работает для меня, чтобы на самом деле что-то добавить к представлению в то время как в fullscreen
Режим.
Любая помощь будет оценена.
3 ответа
Вот еще одна возможность, с которой я только что наткнулся. MPMoviePlayerController в полноэкранном режиме может отправлять события удаленного управления. Поймайте их (кстати, только для iOS 4), включив сообщения о событиях удаленного управления в вашем контроллере представления:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
а затем реализовать
[UIResponder remoteControlReceivedWithEvent:(UIEvent*)event];
и когда представление исчезнет, отмените регистрацию в viewWillDisappear:
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
Я не уверен, что это сработает, но стоит попробовать.
Я не использовал MPMoviePlayerViewController, но вот некоторые соображения, основанные на просмотре документации.
Похоже, что MPMoviePlayerController имеет некоторые уведомления, которые могут иметь отношение, хотя я не вижу конкретных ссылок на "следующие и предыдущие кнопки". Могут ли они быть кнопки поиска?
Зарегистрируйтесь для получения уведомления с
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerPlaybackStateChanged:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil];
И добавьте эту функцию к вашему объекту:
-(void)moviePlayerPlaybackStateChanged:(NSNotification *)notification {
MPMoviePlayerController *moviePlayer = notification.object;
MPMoviePlaybackState playbackState = moviePlayer.playbackState;
// ...
}
Я подозреваю, что вы обнаружите, что вы получаете MPMoviePlaybackStateSeekingForward и... ищете обновления для этих кнопок.
Сиамсу Кэмпбелл прав:) Используя его подход, я получил события событий управления воспроизведением. Смотрите мой вопрос и ответ.