Swift 如何使用AVPlayer镜像(翻转)视频播放?
我想使用AVPlayer镜像(翻转)视频播放。 例如:反射镜管:- 我想实现同样的功能 我曾尝试更改CGAffineTransform,但效果不一样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
提前谢谢 下面是一个如何使用
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
,还是想翻转实际视频,准备以翻转模式导出?翻转应该是垂直的还是水平的?提供图片会比只提供一个指向某个甚至没有屏幕截图的扩展的链接更有帮助。