Как отразить (перевернуть) воспроизведение видео с помощью AVPlayer? - PullRequest
0 голосов
/ 12 января 2019

Я хочу отразить (перевернуть) воспроизведение видео с помощью AVPlayer. Нравится: MirrorTube: - https://chrome.google.com/webstore/detail/mirrortube/olomckflnlligkboahmaihmeaffjdbfm/related?hl=en

Я хочу достичь той же функциональности.

Я пытался изменить CGAffineTransform, но он не работает так же.

Заранее спасибо!

1 Ответ

0 голосов
/ 12 января 2019

Вот пример того, как перевернуть плеер по вертикали и горизонтали, используя CGAffineTransform:

PlayerView

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

ViewController, использующий playerView, определенный в xib / storyboard :

@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))
           }
}
...