При использовании MPMoviePlayerController кнопка воспроизведения окружена кнопками "Далее" и "Предыдущая".
Как получать уведомления при нажатии? есть ли способ передать MPMoviePlayerController список (массив) контента?
При использовании MPMoviePlayerController кнопка воспроизведения окружена кнопками "Далее" и "Предыдущая".
Как получать уведомления при нажатии? есть ли способ передать MPMoviePlayerController список (массив) контента?
Натан правильно говорит о необходимости реализовать собственный пользовательский интерфейс для игрока, если вы хотите уведомления о кнопках. Вы можете получать уведомления от игрока о состоянии воспроизведения.
из примера AddMusic, где self - это контроллер или модель, содержащая экземпляр MPMusicPlayerController:
- (void) registerForMediaPlayerNotifications {
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver: self
selector: @selector (handle_NowPlayingItemChanged:)
name: MPMusicPlayerControllerNowPlayingItemDidChangeNotification
object: musicPlayer];
[notificationCenter addObserver: self
selector: @selector (handle_PlaybackStateChanged:)
name: MPMusicPlayerControllerPlaybackStateDidChangeNotification
object: musicPlayer];
/*
// This sample doesn't use libray change notifications; this code is here to show how
// it done if you need it.
[notificationCenter addObserver: self
selector: @selector (handle_iPodLibraryChanged:)
name: MPMediaLibraryDidChangeNotification
object: musicPlayer];
[[MPMediaLibrary defaultMediaLibrary] beginGeneratingLibraryChangeNotifications];
*/
[musicPlayer beginGeneratingPlaybackNotifications];
}
Никаких уведомлений не генерируется, когда пользователь нажимает на следующие/предыдущие кнопки (вы должны сообщить об ошибке), поэтому единственный способ решить эту проблему без какого-либо несанкционированного обхода просмотра - реализовать собственный просмотр видеоизображения:
MPMoviePlayerController* moviePlayer = [[MPMoviePlayerController alloc]
initWithContentURL:someUrl];
moviePlayer.movieControlMode = MPMovieControlModeHidden;
[moviePlayer play];
NSArray* windows = [[UIApplication sharedApplication] windows];
if ([windows count] > 1) {
UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
[moviePlayerWindow addSubview:yourCustomOverlayView];
}
Не идеален, но стандартные элементы управления довольно легко реинсталлировать.
Я не думаю, что у вас есть большой контроль над MPMoviePlayerController
. Это стандартный компонент, который может в принципе запускать и останавливать воспроизведение фильма и ничего больше.