Следующие/Предыдущие кнопки на iPhone MPMoviePlayerController

Если бы я должен был сделать проверку покрытия кода, я думаю, что эти два были бы вершиной:

 [Serializable]
 [WebMethod]
10
задан rptwsthi 11 March 2013 в 07:00
поделиться

3 ответа

Натан прав, говоря о необходимости реализации собственного пользовательского интерфейса для игрока, если вы хотите получать уведомления о кнопках. Однако вы можете получать уведомления от проигрывателя о состоянии воспроизведения.

из примера 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's done if you need it.
     [notificationCenter addObserver: self
     selector: @selector (handle_iPodLibraryChanged:)
     name: MPMediaLibraryDidChangeNotification
     object: musicPlayer];

     [[MPMediaLibrary defaultMediaLibrary] beginGeneratingLibraryChangeNotifications];
     */

    [musicPlayer beginGeneratingPlaybackNotifications];
}
6
ответ дан 4 December 2019 в 01:31
поделиться

Уведомления не генерируются, когда пользователь нажимает следующие / предыдущие кнопки (вы должны сообщить об этом) , поэтому единственный способ решить эту проблему без какого-либо несанкционированного сканирования по просмотрам - это реализовать собственное представление наложения видео:

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];
}

Не идеально, но стандартные элементы управления довольно легко повторно реализовать.

4
ответ дан 4 December 2019 в 01:31
поделиться

Я не думаю, что у вас есть большой контроль над MPMoviePlayerController . Это стандартный компонент, который может запускать и останавливать воспроизведение фильма и ничего больше.

0
ответ дан 4 December 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: