5

イントロ シーンでのビデオの再生に問題があります。ビデオをシーンに追加しましたが、正常に再生されます。私はそれを何度も繰り返したいだけです。この動画を終了後に自動的に再生するように設定する方法はありますか?

これは私がビデオを追加する方法です:

SKVideoNode *videoNode = [SKVideoNode videoNodeWithVideoFileNamed:@"game1.m4v"];
videoNode.position = CGPointMake(150, 180);
videoNode.size = CGSizeMake(150, 150);
[self addChild:videoNode];
[videoNode play];

どんな助けでも大歓迎です。

4

1 に答える 1

6

SKVideoNode を次のように初期化します。

- (instancetype)initWithAVPlayer:(AVPlayer *)player

AVPlayer の使用を設定するとき:

avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

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

これにより、プレーヤーが最後に一時停止するのを防ぐことができます。

通知では:

-(void)playerItemDidReachEnd:(NSNotification *)notification {
    AVPlayerItem *p = [notification object];
    [p seekToTime:kCMTimeZero];
}

これにより、ムービーが巻き戻されます。

(この質問に対する彼の回答に対するBastianの功績)

于 2015-03-02T18:00:55.463 に答える