Ответ 1
AVPlayer не имеет метода с именем stop
. Вы можете pause
или установить rate
на 0.0.
Я использую этот код для воспроизведения видеофайлов с помощью 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];
AVPlayer не имеет метода с именем stop
. Вы можете pause
или установить rate
на 0.0.
Обычно я ищуToTime 0.0, затем приостанавливаю. Он отлично работает со мной.:)
[self.videoPlayer seekToTime:CMTimeMake(0, 1)];
[self.videoPlayer pause];
Вы можете приостановить и установить значение объекта AVPlayer равным нулю.
И в коде вы можете использовать это:
[self.videoPlayer pause];
[self.avPlayerLayer removeFromSuperlayer];
self.videoPlayer = nil;
Если вы не хотите, чтобы av-плеер установил нуль, лучший подход может быть следующим:
videoPlayer.replaceCurrentItemWithPlayerItem(nil)