将视频转换为MP4和不同分辨率时iOS 13崩溃

时间:2019-10-28 13:43:12

标签: ios xamarin avfoundation avassetexportsession

自从IOS 13推出以来,我无法将MP4文件转换为不同的分辨率。它使用Xamarin.IOS 13上的标准AVFoundation库。

有什么想法为什么当转换即将发生时应用会崩溃?

Xamarin Simulator IOS 13没问题。只有在进行测试时才会发生这种情况。

AVAssetExportSession export = new AVAssetExportSession(asset, AVAssetExportSession.Preset640x480);

    export.OutputUrl = NSUrl.FromFilename(to); 
    export.OutputFileType = AVFileType.Mpeg4;
    export.ShouldOptimizeForNetworkUse = true;

    bool exportComplete = false;

    export.ExportAsynchronously(() =>
    {

        if (export.Error != null)
            Console.WriteLine(export.Error.LocalizedDescription);  
        else
        {
            asset = AVAsset.FromUrl(export.OutputUrl);
            foreach (var track in asset.Tracks)
            {
                if (track.NaturalSize.Height > 0)
                {
                    var size = track.NaturalSize;
                    Debug.WriteLine("New size: " + size.Width + "x" + size.Height);
                    break;
                }
            }

            fileLength = new FileInfo(to).Length;
            Debug.WriteLine("New: " + fileLength);
       }

       exportComplete = true;

   });
  

异常类型:EXC_CRASH(SIGABRT)异常代码:   0x0000000000000000,0x0000000000000000异常注意:   EXC_CORPSE_NOTIFY由线程触发:0

     

特定于应用程序的信息:abort()被调用

0 个答案:

没有答案