私はこの問題についてしばらく調査してきましたが、stackoverflow で同様の質問に解決策を適用しようとしましたが、今のところうまくいきません。
私のコード:
override func didMoveToView(view: SKView) {
if let path = NSBundle.mainBundle().pathForResource("stars", ofType: "mov") {
let videoUrl = NSURL(fileURLWithPath: path)
player = AVPlayer(URL: videoUrl)
videoNode = SKVideoNode(AVPlayer: player)
videoNode.size = frame.size
videoNode.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame))
addChild(videoNode)
videoNode.play()
NSNotificationCenter.defaultCenter().addObserver(self,
selector: #selector(GameScene.playerItemDidReachEnd(_:)),
name: AVPlayerItemDidPlayToEndTimeNotification,
object: nil)
setupView(true)
} else { // Triggered if the video couldn't be found inside the project bundle
print("Couldn't find the video")
}
}
func playerItemDidReachEnd(notification: NSNotification) {
player.seekToTime(kCMTimeZero)
videoNode.play()
}
これは、コンソールに表示される行です。
< SKMetalLayer: 0x127eda5a0> : -display を呼び出しても効果はありません。