Ошибка "Не удается декодировать" при попытке сохранить файл с помощью AVAssetExportSession при использовании Xamarin
Я портировал этот пример: видео с перекрытием на Xamarin.
Когда я использую этот AVMutableComposition в AVPlayer, я могу смотреть отредактированное видео. Но когда я пытаюсь сохранить его, используя AVAssetExportSession, я всегда получаю ошибку "Cannot Decode". Я пробовал каждый пресет и каждый тип файла, и это не помогает.
Я также попытался использовать официальный пример https://github.com/xamarin/monotouch-samples/tree/master/AVCompositionDebugVieweriOS, и я получаю ту же ошибку.
public AVAssetExportSession AssetExportSession (string presetName)
{
var session = new AVAssetExportSession (Composition, presetName);
session.VideoComposition = VideoComposition;
session.AudioMix = AudioMix;
return session;
}
Когда я покидаю сессию.VideoComposition, как ноль:
public AVAssetExportSession AssetExportSession (string presetName)
{
var session = new AVAssetExportSession (Composition, presetName);
//session.VideoComposition = VideoComposition;
session.AudioMix = AudioMix;
return session;
}
Файл сохраняется без проблем (но без оверлея мне нужно иметь).
Кто-нибудь знает, почему, когда я использую AVAssetExportSession.VideoComposition, у меня появляется ошибка Cannot Decode? Это проблема Xamarain/MonoTouch?
1 ответ
Хорошо, я решаю эту проблему. Кажется, что проблема была ТОЛЬКО, когда я использую симулятор iPhone. Когда я развертываю свое приложение на устройстве, оно работает нормально.
Может быть, это кому-то поможет: если у вас в симуляторе есть ошибка Cannot Decode, проверьте, работает ли код на устройстве.