ami*_*mit 6 iphone video assets avfoundation avassetexportsession
当我通过AVAssetExportSession导出视频资源时,结果文件处于LANDpace模式.(通过itune抓取文件 - > apps->文件共享 - >我的应用程序).如何以纵向模式导出视频资源(旋转它)?
Nic*_*uet 21
来自iPhone捕获设备的视频始终是横向的,无论捕获时设备方向如何.
如果要旋转视频,"简单"解决方案是将转换分配给导出会话的视频轨道.
在AVComposition对象中创建2个可变轨道:
AVMutableCompositionTrack *videoTrack = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
AVMutableCompositionTrack *audioTrack = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
Run Code Online (Sandbox Code Playgroud)
将您的媒体曲目添加到乐曲的曲目中:
...
BOOL videoResult = [videoTrack insertTimeRange:sourceCMTime
ofTrack:[tracks objectAtIndex:0]
atTime:currentTime
error:&error];
BOOL audioResult = [audioTrack insertTimeRange:sourceCMTime
ofTrack:[tracks objectAtIndex:0]
atTime:currentTime
error:&error];
...
Run Code Online (Sandbox Code Playgroud)
添加完所有曲目后,将变换应用于合成的视频曲目:
CGAffineTransform rotationTransform = CGAffineTransformMakeRotation(M_PI_2);
// CGAffineTransform rotateTranslate = CGAffineTransformTranslate(rotationTransform,360,0);
videoTrack.preferredTransform = rotationTransform;
Run Code Online (Sandbox Code Playgroud)
(请注意,变换的左上角是原点,因此旋转后需要平移,但是在iPhone 4S,iOS 5.1上进行了测试,似乎现在围绕中心进行了旋转.)
| 归档时间: |
|
| 查看次数: |
6276 次 |
| 最近记录: |