我有以下代码来更改通过 AVURLAsset 加载的视频的比例、旋转和大小。当我编译并运行代码时,它工作正常。
但是,如果图像是前置摄像头,我希望能够向左或向右翻转视频,以便用户的脸部不会向后看......
您可以在这里查看我的代码:
let layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: videoTrack)
let rotation: CGAffineTransform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
let translateToCenter: CGAffineTransform = CGAffineTransformMakeTranslation(videoSize.height, 0)
let mixedTransform: CGAffineTransform = CGAffineTransformConcat(rotation, translateToCenter)
//CGAffineTransformMakeScale(-1, 1)
layerInstruction.setTransform(mixedTransform, atTime: kCMTimeZero)
您可以在我的代码中看到我已经注释掉了 CGAffineTransformMakeScale(-1, 1)。
我的问题是如何将 CGAffineTransformMakeScale(-1, 1) 添加到我的代码中以使图像看起来水平翻转。
谢谢!
最佳答案
t = CGAffineTransformMakeScale(-1.0, 1.0);
t = CGAffineTransformTranslate(t, -videoSize.height, 0);
t = CGAffineTransformRotate(t, (90 * CGFloat(M_PI) / 180.0));
t = CGAffineTransformTranslate(t, 0.0, -videoSize.height);
关于ios - Swift AVMutableVideoComposition指令规模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35400661/