maf*_*oso 11 rotation avfoundation orientation ios swift
我想使用AVPlayer旋转视频的重放.有没有办法顺时针旋转90度?
这是一些代码:
self.player = AVPlayer(URL: NSURL(fileURLWithPath: dataPath))
playerLayer = AVPlayerLayer.init(player: self.player)
playerLayer.frame = view.bounds
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
view.layer.addSublayer(playerLayer)
player.play()
Run Code Online (Sandbox Code Playgroud)
UPDATE
这个工作:
self.player = AVPlayer(URL: NSURL(fileURLWithPath: dataPath))
playerLayer = AVPlayerLayer.init(player: self.player)
playerLayer.setAffineTransform(CGAffineTransformMakeRotation(CGFloat(M_PI))
playerLayer.frame = view.bounds
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
view.layer.addSublayer(playerLayer)
player.play()
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您使用的是 Objective-C,下面的代码会有所帮助。
#define degreeToRadian(x) (M_PI * x / 180.0)
#define radianToDegree(x) (180.0 * x / M_PI)
- (void)rotateVideoPlayerWithDegree:(CGFloat)degree {
[_playerLayer setAffineTransform:CGAffineTransformMakeRotation(degreeToRadian(degree))];
}
Run Code Online (Sandbox Code Playgroud)
Hooni 在 Swift 3 中的回答:
let affineTransform = CGAffineTransform(rotationAngle: degreeToRadian(90))
avPlayerLayer.setAffineTransform(affineTransform)
func degreeToRadian(_ x: CGFloat) -> CGFloat {
return .pi * x / 180.0
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8782 次 |
| 最近记录: |