2010-10-19 2 views
5

В настоящее время я разрабатываю приложение для веб-телевидения, которое использует MPMoviePlayerViewController соответственно. MPMoviePlayer для воспроизведения потокового видеоконтента на iphone.MPMoviePlayerViewController останавливает воспроизведение при отключении наушников

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

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

спасибо за ваши Tipps и трюки заранее,

сэм

ответ

3

У меня нет прямого ответа на свой вопрос. Но я думаю, что MPMoviePlayerPlaybackStateDidChangeNotification будет достаточно хорошим, чтобы решить вашу проблему. Как только вы получите уведомление, получите состояние воспроизведения из свойства playbackState объекта видеоплеер и предпримите соответствующие действия.

2

Конкретизируя принятый ответ с некоторым кодом:

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


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

Стоит отметить, что '[MoviePlayer playbackState]' 'изменения MPMoviePlaybackStatePaused' в конце фильма. Поэтому, если вы не хотите, чтобы фильм повторялся, вам нужно проверить, что это не конец с '[moviePlayer currentPlaybackTime]! = [Продолжительность фильма]. – zyzof

Смежные вопросы