web-dev-qa-db-fra.com

Comment arrêter une vidéo dans AVPlayer?

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];
20
iTag

AVPlayer n'a pas de méthode nommée stop. Vous pouvez pause ou définir rate sur 0,0.

55
Samet DEDE

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];
27
Huynh Inc

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;
19
I_User

Si vous ne voulez pas régler le lecteur av sur zéro, une meilleure approche pourrait être:

videoPlayer.replaceCurrentItemWithPlayerItem(nil)
17
Mustafa