30

このコードを使用して、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];
4

5 に答える 5

33

私は通常 seekToTime 0.0 にしてから一時停止します。それは私と完全に連携します。:)

[self.videoPlayer seekToTime:CMTimeMake(0, 1)];
[self.videoPlayer pause];
于 2014-12-09T09:16:46.463 に答える
26

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

videoPlayer.replaceCurrentItemWithPlayerItem(nil)
于 2014-09-10T19:28:31.663 に答える
22

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

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

[self.videoPlayer pause];
[self.avPlayerLayer removeFromSuperlayer];
self.videoPlayer = nil;
于 2013-07-24T11:18:41.700 に答える