J'utilise ce code pour lire un fichier vidéo en utilisant avplayer comment puis-je l'arrêter
[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];
J'ai essayé ça ne marche pas
//[self.videoPlayer release];
AVPlayer n'a pas de méthode nommée stop
. Vous pouvez pause
ou définir rate
sur 0,0.
Je cherche habituellement ToTime 0.0, puis je m'arrête. Cela fonctionne parfaitement avec moi. :)
[self.videoPlayer seekToTime:CMTimeMake(0, 1)];
[self.videoPlayer pause];
Vous pouvez mettre en pause et définir la valeur de l'objet AVPlayer sur zéro.
Et dans votre code, vous pouvez utiliser ceci:
[self.videoPlayer pause];
[self.avPlayerLayer removeFromSuperlayer];
self.videoPlayer = nil;
Si vous ne voulez pas régler le lecteur av sur zéro, une meilleure approche pourrait être:
videoPlayer.replaceCurrentItemWithPlayerItem(nil)