Я разрабатываю приложение для чтения электронных книг с книгой PDF, состоящей из нескольких страниц PDF. На каждой странице есть значок видео для воспроизведения видеоизображений. Я использовал AVPlayer
для воспроизведения видео, используя AVPlayerItem
и AVURLAsset
(поток от URL
). Он работает отлично в 10-15 раз от воспроизведения одного и того же или другого видео с той же страницы или другой страницы. Но через некоторое время видео не воспроизводится, а показывает значок воспроизведения с перекрестной линией.AVPlayer воспроизводит видео несколько раз (10-15) Получение значка воспроизведения с перекрестной линией
Я использовал приведенный ниже код.
NSURL *videoUrl = [NSURL URLWithString:@"http://WWW.google.com/media/test_1.mp4"]
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
NSDictionary *optionsDic = @{AVURLAssetHTTPCookiesKey : cookies};
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:videoUrl options:optionsDic];
AVPlayerItem *playeritem = [AVPlayerItem playerItemWithAsset:asset];
AVPlayer *player = [[AVPlayer alloc] initWithPlayerItem:playeritem];
AVPlayerViewController *moviePlayerVC = [[AVPlayerViewController alloc]init];
moviePlayerVC.player = player;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self presentViewController:moviePlayerVC animated:NO completion:nil];
});
почему вы делаете 'dispatch_after'? –
Мне нужна задержка для представления видеопроигрывателя. Я попытался с отправкой после и снова также я столкнулся с той же проблемой. –
Вы называете это формой viewDidLoad? –