AVPlayer 在 Swift 中横向播放视频

Posted

技术标签:

【中文标题】AVPlayer 在 Swift 中横向播放视频【英文标题】:AVPlayer playing video sideways in Swift 【发布时间】:2020-08-31 23:16:23 【问题描述】:

我正在尝试录制视频然后播放,问题是播放视频时,它会横向播放。我已经禁用了横向模式,所以我不知道是什么导致了这个问题。这是实现:

class VideoPlayback: UIViewController 

    let avPlayer = AVPlayer()
    var avPlayerLayer: AVPlayerLayer!

    var videoURL: URL!
    //connect this to your uiview in storyboard
    @IBOutlet weak var videoView: UIView!

    override func viewDidLoad() 
        super.viewDidLoad()

        avPlayerLayer = AVPlayerLayer(player: avPlayer)
        avPlayerLayer.frame = view.frame
        avPlayerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
        videoView.layer.insertSublayer(avPlayerLayer, at: 0)
        view.layoutIfNeeded()
        
        let playerItem = AVPlayerItem(url: videoURL as URL)
        avPlayer.replaceCurrentItem(with: playerItem)
    
        avPlayer.play()
    

有人知道如何解决这个问题吗?

【问题讨论】:

请看我的回答***.com/questions/46243096/… 【参考方案1】:
let angle = .pi/2    //90 degrees -- or desired rotation
avPlayerLayer.setAffineTransform(CGAffineTransform(rotationAngle: angle)

这应该适用于那个视频,但如果您要播放不同的视频,它可能不可靠。

【讨论】:

以上是关于AVPlayer 在 Swift 中横向播放视频的主要内容,如果未能解决你的问题,请参考以下文章

使用 AVPlayer 播放的视频在 swift3 中从其容器视图中消失

使用swift 3点击单元格时如何在Avplayer中播放来自url的视频

在 IOS 9 上使用 AVPlayer 和 Swift 反向播放视频

我无法在 swift 2.3 中播放保存在目录路径和 AVPlayer 中的视频

Swift 2 AVPlayer - 播放下一个视频 上一个视频

Swift 应用程序上的 AVPlayer 显示黑屏,但在播放视频时播放音频