2009-07-15 17 views
10

Podczas korzystania z MPMoviePlayerController przycisk odtwarzania otoczony jest przyciskami "Następny" i "Poprzedni".Następujące/Poprzednie przyciski na iPhonie MPMoviePlayerController

Jak uzyskać powiadomienia po kliknięciu? jest sposób na zasilenie MPMoviePlayerController z listą (tablicą) zawartości?

+0

znalazłem sposób, patrz na moje pytanie i odpowiedź. http://stackoverflow.com/questions/3593683/how-can-i-know-users-click-fast-forward-and-fast-rewind-buttons-on-the-playback-c/3598383#3598383 – alones

Odpowiedz

6

Nathan ma poprawne zdanie o konieczności zaimplementowania własnego interfejsu dla odtwarzacza, jeśli chcesz otrzymywać powiadomienia o przyciskach. Możesz otrzymywać powiadomienia od odtwarzacza o stanie odtwarzania.

z przykładu AddMusic, gdzie jaźń jest administratorem lub modelu zawierającego wystąpienie 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]; 
}
0

Nie sądzę, że masz dużą kontrolę nad MPMoviePlayerController. Jest to standardowy komponent, który może zasadniczo uruchomić i zatrzymać odtwarzanie filmu i nic więcej.

+0

Chyba masz rację. A jednak, dlaczego te kontrolki są w ogóle? W aplikacji youTube - przechodzą do następnego/poprzedniego wideo. –

+0

Na iPhonie przechodzą do początku lub końca bieżącego filmu. Nie są to przyciski next/prev. –

+0

To jest nieprawidłowe. Kiedy zaimplementujesz am MPMoviePlayerController - po prostu opuszczają odtwarzacz w taki sam sposób jak "stop". –

4

Żadne powiadomienia nie są generowane, gdy użytkownik naciśnie przyciski następny/poprzedni (należy zgłosić błąd na ten temat), więc jedynym sposobem rozwiązania tego problemu bez niezatwierdzonego indeksowania widoku jest zaimplementowanie własnego widoku nakładki wideo:

Nie jest idealny, ale standardowe elementy sterujące są dość łatwe do ponownego wdrożenia.

+0

Ten kod nie usuwa istniejącej warstwy nakładki. Czy chcesz dodać wyraźny przycisk? –

+0

@ yn2: Zaktualizowałem moją odpowiedź, aby ukryć domyślny interfejs użytkownika nakładki. –