【问题标题】:Issues with vertical video orientation in SKVideoNode using Swift使用 Swift 的 SKVideoNode 中的垂直视频方向问题
【发布时间】:2018-01-19 19:38:24
【问题描述】:

以下代码在正确的 zPosition 中显示了我的视频文件以及我正在使用的其他元素,从而创建了一个背景视频。

我遇到的问题是垂直视频(1080x1920 像素)逆时针旋转 90 度,并被拉伸以适应横向视频。如何在不牺牲将 SKVideoNode 与 zPosition 一起使用的需要的情况下确保正确的方向?

let videoNode: SKVideoNode? = {

    guard let urlString = Bundle.main.path(forResource: "merry", ofType: "mov") else {
        return nil
    }

    let url = URL(fileURLWithPath: urlString)
    let item = AVPlayerItem(url: url)
    player = AVPlayer(playerItem: item)

    return SKVideoNode(avPlayer: player)

}()

videoNode?.position = CGPoint( x: frame.midX, y: frame.midY)
videoNode?.size = self.frame.size
videoNode?.zPosition = 20
addChild((videoNode)!)

player.play()
player.volume = 0

非常感谢!

【问题讨论】:

    标签: ios swift video avplayer skvideonode


    【解决方案1】:

    最终找到了解决方法:

    // fix to rotate vertical video by 90 degrees and resize to fit....
    videoNode?.zRotation = CGFloat(-Double.pi) * 90 / 180
    videoNode?.size.width = self.frame.size.height
    videoNode?.size.height = self.frame.size.width
    

    【讨论】:

    • 嗨,我按照本教程在 SpriteKit 的 SceneKit 中播放透明视频。 medium.com/@quentinfasquel/… 但我的视频是垂直播放的,我该如何正常播放。您可以查看 Playground page-2 示例相同问题的垂直视频。
    • videoNode.yScale = -1.0。我这样做是为了 SKNode 视频大小可以正常播放,但颜色完全褪色伴随着白色屏幕,其中播放了一些对象。
    猜你喜欢
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2017-02-03
    相关资源
    最近更新 更多