Sprite kit 如何检测SKVideoNode播放完成

Sprite kit 如何检测SKVideoNode播放完成,sprite-kit,skvideonode,Sprite Kit,Skvideonode,我正在使用SKVideoNode显示动画飞溅场景,使用以下代码: SKVideoNode *video = [SKVideoNode videoNodeWithVideoFileNamed:@"splash_video.mp4"]; video.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));

我正在使用SKVideoNode显示动画飞溅场景,使用以下代码:

    SKVideoNode *video = [SKVideoNode videoNodeWithVideoFileNamed:@"splash_video.mp4"];



    video.position = CGPointMake(CGRectGetMidX(self.frame),
                                 CGRectGetMidY(self.frame));

    [self addChild:video];
    [video play];

我希望在视频播放完成后显示下一个场景。我怎样才能做到这一点

将其添加到您的viewDidLoad或其他合适的位置

let videoURL = NSURL(string: url)
let player = AVPlayer(URL: videoURL!)
player.actionAtItemEnd = .None
let videoSpriteKitNode = SKVideoNode(AVPlayer: player)

NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerItemDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: player.currentItem)
并添加此功能:

func playerItemDidReachEnd(notification: NSNotification) {

    if let playerItem = notification.object as? AVPlayerItem {
        //Start your next video here
    }
}

将其添加到viewDidLoad或其他合适的位置

let videoURL = NSURL(string: url)
let player = AVPlayer(URL: videoURL!)
player.actionAtItemEnd = .None
let videoSpriteKitNode = SKVideoNode(AVPlayer: player)

NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerItemDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: player.currentItem)
并添加此功能:

func playerItemDidReachEnd(notification: NSNotification) {

    if let playerItem = notification.object as? AVPlayerItem {
        //Start your next video here
    }
}