ios - 使用 Swift 的 SKVideoNode 中的垂直视频方向问题

标签 ios swift video avplayer skvideonode

以下代码显示我的视频文件在正确的 zPosition 中与我正在使用的其他元素一起创建背景视频。

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

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

非常感谢!

最佳答案

最终通过解决方法到达那里:

// 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

关于ios - 使用 Swift 的 SKVideoNode 中的垂直视频方向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48348368/

相关文章:

ios - 无法将界面从 UIViewController 传输到 Table View(Outlet 无法连接到重复内容)

swift - 与 Swift 的 ScalaCheck 等效吗? (测试数据生成器框架)

java - 如何检索与从 RESTful Web 服务发送的视频或图像关联的元数据?

ios - Xcode 导航栏 "Bar Tint"清除颜色为黑色

iphone - AQGridView - ExpanderDemo 中的方向更改

ios - SwiftUI - 显示和隐藏自定义警报

xml - 哪种 DITA 元素可用于嵌入 YouTube 视频?

ios - 如何确保在 UITextfield 中输入的日期不超过特定日期?

ios - 将设置 TableView 从 iOS 应用程序移植到 mac

video - 合并具有不同开始时间的视频并在网格上显示它们