1

私のコード:

    playerController = [[AVPlayerViewController alloc]init];


    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(playerItemDidReachEnd:)
                                                 name:AVPlayerItemDidPlayToEndTimeNotification
                                               object:[playerController.player currentItem]];

    playerController.player = [AVPlayer playerWithURL:videoURL];

    playerController.view.frame = self.view.frame;

    [playerController.player seekToTime:kCMTimeZero];

    playerController.player.actionAtItemEnd = AVPlayerActionAtItemEndPause;

    [playerController.player play];

    [self presentViewController:playerController animated:YES completion:nil];

ここでは、特定の時間にビデオを停止します。

4

2 に答える 2

4

あなたがしなければならないことは次のとおりです。

.h ファイルに次のプロパティを作成します。

@property (strong) id playerObserver;

このコードを .m ファイルに追加します。

AVPlayer *player = [AVPlayer playerWithURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"]];

[player play];

self.playerObserver = [player addBoundaryTimeObserverForTimes:@[[NSValue valueWithCMTime:CMTimeMake(1, 1000)]] queue:NULL usingBlock:^{
    NSLog(@"Video started playing");

    [player performSelector:@selector(pause) withObject:nil afterDelay:3.0]; //will pause player after 3.0 seconds
    [player removeTimeObserver:self.playerObserver];
}];

このコードは、ビデオの再生開始を追跡します。その後、任意の時間 (ここでは 3 秒) が経過すると、プレーヤーが一時停止します。少なくとも、プレイヤーのオブザーバーを削除します。

お役に立てれば !

于 2016-06-30T08:58:52.120 に答える