Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何使用AVPlayer镜像(翻转)视频播放?_Swift_Avplayer_Mirroring_Avplayerlayer - Fatal编程技术网

Swift 如何使用AVPlayer镜像(翻转)视频播放?

Swift 如何使用AVPlayer镜像(翻转)视频播放?,swift,avplayer,mirroring,avplayerlayer,Swift,Avplayer,Mirroring,Avplayerlayer,我想使用AVPlayer镜像(翻转)视频播放。 例如:反射镜管:- 我想实现同样的功能 我曾尝试更改CGAffineTransform,但效果不一样 提前谢谢 下面是一个如何使用cGraffeTransform垂直和水平翻转播放器的示例: 播放视图: import AVKit class PlayerView: UIView { var player: AVPlayer? { get { return playerLayer.player

我想使用AVPlayer镜像(翻转)视频播放。 例如:反射镜管:-

我想实现同样的功能

我曾尝试更改CGAffineTransform,但效果不一样


提前谢谢

下面是一个如何使用
cGraffeTransform
垂直和水平翻转播放器的示例:

播放视图

import AVKit

class PlayerView: UIView {
    var player: AVPlayer? {
        get {
            return playerLayer.player
        }
        set {
            playerLayer.player = newValue
        }
    }

    var playerLayer: AVPlayerLayer {
        return layer as! AVPlayerLayer
    }

    // Override UIView property
    override static var layerClass: AnyClass {
        return AVPlayerLayer.self
    }
}
@IBOutlet var playerView: PlayerView!

@IBAction func flipVerticallyBarButtonItemTouched(_ sender: UIBarButtonItem) {
           UIView.animate(withDuration: 0.2) { [unowned self] in
               self.playerView.transform = self.playerView.transform.concatenating(CGAffineTransform(scaleX: 1, y: -1))
           }
       }
@IBAction func flipHorizontallyBarButtonItemTouched(_ sender: UIBarButtonItem) {
           UIView.animate(withDuration: 0.2) { [unowned self] in
            self.playerView.transform = self.playerView.transform.concatenating(CGAffineTransform(scaleX: -1, y: 1))
           }
}
使用xib/情节提要中定义的playerView的ViewController

import AVKit

class PlayerView: UIView {
    var player: AVPlayer? {
        get {
            return playerLayer.player
        }
        set {
            playerLayer.player = newValue
        }
    }

    var playerLayer: AVPlayerLayer {
        return layer as! AVPlayerLayer
    }

    // Override UIView property
    override static var layerClass: AnyClass {
        return AVPlayerLayer.self
    }
}
@IBOutlet var playerView: PlayerView!

@IBAction func flipVerticallyBarButtonItemTouched(_ sender: UIBarButtonItem) {
           UIView.animate(withDuration: 0.2) { [unowned self] in
               self.playerView.transform = self.playerView.transform.concatenating(CGAffineTransform(scaleX: 1, y: -1))
           }
       }
@IBAction func flipHorizontallyBarButtonItemTouched(_ sender: UIBarButtonItem) {
           UIView.animate(withDuration: 0.2) { [unowned self] in
            self.playerView.transform = self.playerView.transform.concatenating(CGAffineTransform(scaleX: -1, y: 1))
           }
}

你能分享一下你是如何使用CGAffineTransform的吗?您只想翻转
avPlayer
,还是想翻转实际视频,准备以翻转模式导出?翻转应该是垂直的还是水平的?提供图片会比只提供一个指向某个甚至没有屏幕截图的扩展的链接更有帮助。