2013-04-25 2 views
3

Я разработал приложение для радио и оно работает.Добавление индикатора активности, когда AVplayer готов к воспроизведению музыки

Я хочу поставить вид индикатора активности, чтобы при касании воспроизведения он запустил вид индикатора активности, и когда звук начинается, индикатор активности останавливается.

+0

Вы хотите уточнить, как добавить e индикатор активности? Получаете ли вы обратные вызовы при нажатии кнопки воспроизведения и перед запуском проигрывателя? – Amit

+0

Вы пытались использовать AVPlayerViewController? Он уже содержит индикатор активности, указывающий на ход загрузки + AVPlayer. –

ответ

9

Это добавит вид деятельности в центр обзора. Добавьте этот код в «IBAction», где u обрабатывает кнопку воспроизведения .

UIActivityIndicatorView *activityView=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 

    activityView.center=self.view.center; 

    [activityView startAnimating]; 

    [self.view addSubview:activityView]; 
    [self.view userInteractionEnabled:NO]; //to avoid touch events when activity is on 

И остановить индикатор активности использования

[activityView stopAnimating];  
[activityView removeFromSuperview]; 
[self.view userInteractionEnabled:YES]; 

Это из this link about AV Foundation. и this answer ->

Использование КВО, можно получать уведомления для изменения статуса игрока:

player = [AVPlayer playerWithURL:fileURL]; 
[player addObserver:self forKeyPath:@"status" options:0 context:nil]; 

В события кнопки игры добавить код для запуска UIActivityIndicator

Этого метод будет вызываться при изменении состояния:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
         change:(NSDictionary *)change context:(void *)context { 
    if (object == player && [keyPath isEqualToString:@"status"]) { 
     if (player.status == AVPlayerStatusReadyToPlay) { 
      //DISABLE THE UIACTIVITY INDICATOR HERE 
     } else if (player.status == AVPlayerStatusFailed) { 
      // something went wrong. player.error should contain some information 
     } 
    } 
} 
+0

hi, Решено, это было то, что я искал. Спасибо. –

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