web-dev-qa-db-ja.com

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

AVPlayer にはstopという名前のメソッドがありません。 pauseを設定するか、rateを0.0に設定できます。

55
Samet DEDE

通常はseekToTime 0.0を求めてから、一時停止します。それは私にぴったりです。 :)

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

一時停止してAVPlayerオブジェクトの値をnilに設定できます。

そして、あなたのコードでこれを使用できます:

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

AVプレーヤーをnilに設定したくない場合、より良い方法は次のとおりです。

videoPlayer.replaceCurrentItemWithPlayerItem(nil)
17
Mustafa