gpt4 book ai didi

swift - SKScene后台播放视频

转载 作者:行者123 更新时间:2023-11-28 16:16:06 27 4
gpt4 key购买 nike

我创建了一个具有开始菜单屏幕的游戏。在这个菜单屏幕中,我想要一个视频(我通过 iPhone 6 模拟器录制我玩这个游戏)在这个菜单屏幕的背景中播放。我得到了要播放的视频,但是当 View 加载时会发生什么,它会显示菜单,然后它会显示替换菜单本身的视频。

import SpriteKit
import UIKit
import AVFoundation




class MenuScene: SKScene {


var player:AVPlayer!
var VideoSprite:SKVideoNode!





override func didMoveToView(view: SKView) {
let videoURL: NSURL = NSBundle.mainBundle().URLForResource("startTo32", withExtension: "mov")!

player = AVPlayer(URL: videoURL)
player?.actionAtItemEnd = .None
player?.muted = true


let playerLayer = AVPlayerLayer(player: player)
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer.zPosition = -100


playerLayer.frame = view.frame

player?.play()


NSNotificationCenter.defaultCenter().addObserver(self,
selector: #selector(MenuScene.loopVideo),
name: AVPlayerItemDidPlayToEndTimeNotification,
object: nil)

view.layer.addSublayer(playerLayer)


}



func loopVideo() {
player?.seekToTime(kCMTimeZero)
player?.play()
}

--------更新--------

Here's the link to see what I'm talking about.带有文字的屏幕是我试图让视频播放的地方,但它只是让屏幕变白然后播放视频本身。

有任何问题或需要我补充信息,请发表评论。

谢谢,乔丹。

最佳答案

尝试使用您的 SKVideoNode 而不是向您的 View 添加层。

像这样:

let videoURL: NSURL = NSBundle.mainBundle().URLForResource("startTo32", withExtension: "mov")!
VideoSprite = SKVideoNode(url: videoURL)
self.addChild(VideoSprite)
VideoSprite.play()

SKVideoNode 文档可用 here .

关于swift - SKScene后台播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39070252/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com