ios - Swift 2.2 - SpriteKit - 使用SpriteKit循环播放视频

时间:2016-05-27 13:18:41

标签: ios swift video

当我使用SpriteKit

创建视频对象时
let background = SKVideoNode(videoFileNamed: "Video.mov")

我只使用命令进行一次游戏:

background.play()

如何创建无限循环以使其一直播放?

我找到了一些关于这个问题的回复,但只在Objective-C中,而不是在Swift中。我必须使用AVPlayer()但是如何?

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

我通过从stackoverflow编译不同的先前响应找到了解决方案。这是工作代码(swift 2.2)。此代码使用场景中的SKSVideoNode对象(使用AVPlayer初始化程序)无缝循环视频播放:

override func didMoveToView(view: SKView) {

    let urlStr = NSBundle.mainBundle().pathForResource("Video_Socle", ofType: "mov")
    let url = NSURL(fileURLWithPath: urlStr!)

    player = AVPlayer(URL: url)

 NSNotificationCenter.defaultCenter().addObserverForName(AVPlayerItemDidPlayTo     EndTimeNotification
   , object: player!.currentItem, queue: nil)
    { notification in
        let t1 = CMTimeMake(5, 100);
        self.player!.seekToTime(t1)
        self.player!.play()
    }


    videoNode = SKVideoNode(AVPlayer: player!)
    videoNode!.position = CGPointMake(frame.size.width/2, frame.size.height/2)
    videoNode!.size = CGSize(width: 2048, height: 1536)
    videoNode!.zPosition = 0


    background.addChild(videoNode!)
    videoNode!.play()