提问者:小点点

尝试拍摄视频时,Xamarin.Forms iOS崩溃。无法调试


我想用montemagno库制作一个视频:

 private async void CreateVideo()
        {
            await CrossMedia.Current.Initialize();

            if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
            {
                DisplayAlert("No Camera", ":( No camera available.", "OK");
                return;
            }

            videoFile = await CrossMedia.Current.TakeVideoAsync(new Plugin.Media.Abstractions.StoreVideoOptions
            {
                DesiredLength = TimeSpan.FromSeconds(Constants.VIDEOLENGTH),
                Quality = VideoQuality.Low,                
                CompressionQuality = 0
            });            

            if (videoFile == null)
                return;


            //await DisplayAlert("File Location", videoFile.Path, "OK");
            btn_delVideo.IsVisible = true;
            grid_makeVideo.IsVisible = false;

            videoStream = Converters.StreamToByteArray(videoFile.GetStream());

            isVideoSet = true;
            bx_reset.IsVisible = false;
            btn_delVideo.IsVisible = true;


            await CrossMediaManager.Current.Play(videoFile.Path);
        }

这段代码在Android上运行得非常好。在iOS上,它会在生产过程中崩溃。我无法调试此代码,因为它返回。模拟器没有摄像头,因此无法继续。

我试着部署到一个真正的iPhone,但协同设计总是失败,这些配置文件是世界上最糟糕的。

我知道它至少达到了显示“无相机”的程度,所以初始化功能似乎可以工作。因此,我认为问题出在TakeVideoAsync()上。

它甚至在显示任何摄像头之前就崩溃了。

我真的需要点帮助。


共1个答案

匿名用户

确保设置了所有权限。别忘了使用麦克风;-)