Как остановить видео в AVPlayer?

Я использую этот код для воспроизведения видеофайлов с помощью avplayer, как мне его остановить.

 [videoView setHidden:NO];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *path2 = [documentsDirectory stringByAppendingPathComponent:saveFileName];
    NSURL *url1 = [[NSURL alloc] initFileURLWithPath: path2];
    videoPlayer = [AVPlayer playerWithURL:url1] ;
    self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:videoPlayer];

    //[self willAnimateRotationToInterfaceOrientation];
    avPlayerLayer.frame = videoView.bounds;
    [self.videoView.layer addSublayer: avPlayerLayer];

    [self.videoPlayer play];

Я пробовал это, он не работает

    //[self.videoPlayer release];

Ответы

Ответ 1

AVPlayer не имеет метода с именем stop. Вы можете pause или установить rate на 0.0.

Ответ 2

Обычно я ищуToTime 0.0, затем приостанавливаю. Он отлично работает со мной.:)

[self.videoPlayer seekToTime:CMTimeMake(0, 1)];
[self.videoPlayer pause];

Ответ 3

Вы можете приостановить и установить значение объекта AVPlayer равным нулю.

И в коде вы можете использовать это:

[self.videoPlayer pause];
[self.avPlayerLayer removeFromSuperlayer];
self.videoPlayer = nil;

Ответ 4

Если вы не хотите, чтобы av-плеер установил нуль, лучший подход может быть следующим:

videoPlayer.replaceCurrentItemWithPlayerItem(nil)