2010-10-19 11 views
5

Obecnie tworzę aplikację internetową, która używa MPMoviePlayerViewController resp. MPMoviePlayer do odtwarzania strumieniowej zawartości wideo na iPhone.MPMoviePlayerViewController zatrzymuje odtwarzanie po odłączeniu słuchawek

Problem, który mam tutaj, polega na tym, że po odłączeniu słuchawek (podczas oglądania telewizji) odtwarzacz zatrzymuje się. Z uwagi na to, że nie wyświetlam standardowych elementów sterujących (poprzedni przycisk, przycisk odtwarzania/pauzy, następny przycisk), ale moje niestandardowe elementy sterujące, użytkownik utknął z zamrożonym obrazem, chyba że przełączy się na nowy kanał ..

Czy istnieje sposób na wykrycie przerwania odtwarzania spowodowanego odłączeniem słuchawek?

dzięki za Tipps i sztuczki w góry,

Sam

Odpowiedz

3

nie mam bezpośredniej odpowiedzi na swoje pytanie. Ale myślę, że MPMoviePlayerPlaybackStateDidChangeNotification będzie wystarczająco dobry, aby rozwiązać twój problem. Gdy otrzymasz powiadomienie, Pobierz stan odtwarzania z właściwości playbackState obiektu odtwarzacza filmów i podejmij odpowiednie działania.

2

Rozwijając przyjętą odpowiedź z kodem:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(videoPlaybackStateChanged:) 
              name:MPMoviePlayerPlaybackStateDidChangeNotification 
              object:moviePlayer]; 


- (void)videoPlaybackStateChanged :(NSNotification *)notification 
{ 
    if (moviePlayer != nil && [moviePlayer playbackState] == MPMoviePlaybackStatePaused) 
    { 
     [moviePlayer play]; 
    } 
} 
+0

Warto zauważyć, że '[movieplayer playbackState]' 'MPMoviePlaybackStatePaused' zmiany na końcu filmu. Więc jeśli nie chcesz, aby film się powtórzył, musisz sprawdzić, czy nie jest na końcu z '[moviePlayer currentPlaybackTime]! = [MoviePlayer duration]'. – zyzof

Powiązane problemy