Это добавит вид деятельности в центр обзора. Добавьте этот код в «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
}
}
}
Вы хотите уточнить, как добавить e индикатор активности? Получаете ли вы обратные вызовы при нажатии кнопки воспроизведения и перед запуском проигрывателя? – Amit
Вы пытались использовать AVPlayerViewController? Он уже содержит индикатор активности, указывающий на ход загрузки + AVPlayer. –