我正在尝试在 Xamarin / Monotouch 中进行一些基本的视频合成,并取得了一些成功,但我陷入了看似相当简单的任务。
我以纵向方式录制相机中的视频,因此我使用 AVAssetExportSession 来旋转视频。我创建了一个图层指令来旋转视频,效果很好。我能够以正确的方向成功导出视频。
问题:
当我将音轨添加到导出中时,我总是收到失败响应并显示以下错误:
Domain=AVFoundationErrorDomain Code=-11841“操作已停止”UserInfo=0x1912c320 {NSLocalizedDescription=操作已停止,NSLocalizedFailureReason=无法合成视频。}
如果我没有在 exportSession 上设置 videoComposition 属性,则音频和视频导出完全正常,只是方向错误。如果有人能给我一些建议,我将不胜感激。下面是我的代码:
var composition = new AVMutableComposition();
var compositionTrackAudio = composition.AddMutableTrack(AVMediaType.Audio, 0);
var compositionTrackVideo = composition.AddMutableTrack(AVMediaType.Video, 0);
var videoCompositionInstructions = new AVVideoCompositionInstruction[files.Count];
var index = 0;
var renderSize = new SizeF(480, 480);
var _startTime = CMTime.Zero;
//AVUrlAsset asset;
var asset = new AVUrlAsset(new NSUrl(file, false), new AVUrlAssetOptions());
//var asset = AVAsset.FromUrl(new NSUrl(file, false));
//create an avassetrack with our asset
var videoTrack = asset.TracksWithMediaType(AVMediaType.Video)[0];
var …Run Code Online (Sandbox Code Playgroud)