Sprite kit 如何检测SKVideoNode播放完成
我正在使用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 *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
}
}