我想用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()上。
它甚至在显示任何摄像头之前就崩溃了。
我真的需要点帮助。
确保设置了所有权限。别忘了使用麦克风;-)