如何解决尝试拍摄视频时,Xamarin.forms iOS 崩溃无法调试
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() 上。
它甚至在显示任何相机之前就崩溃了。
我真的需要一些帮助。
解决方法
确保设置了所有权限。并且不要忘记使用麦克风;-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。