Xamarin.Forms中调用Camera拍照触发中断状态错误求助
Xamarin.Forms相机项目拍照按钮触发无代码断点错误问题
我开发了一个Xamarin.Forms相机项目,点击拍照按钮时触发错误,错误提示如下:
Your app has entered a break state, but there is no code to show because all threads were executing external code (typically system or framework code)
错误集中在TakePhotoAsync方法调用处,项目已引入Xam.Plugin.Media NuGet包,且遵循相关文档实现,但问题仍未解决。
C#代码实现
private async void TakeAPhotoButton_OnClicked(object sender, EventArgs e) { await CrossMedia.Current.Initialize(); if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await DisplayAlert("No Camera", ":( No camera avaialble.", "OK"); return; } var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "Test", SaveToAlbum = true, }); if (file == null) return; await DisplayAlert("File Location", file.Path, "OK"); image.Source = ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return stream; }); ; }
错误触发的代码片段
var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "Test", SaveToAlbum = true, });
MainPage.XAML代码
<ScrollView> <StackLayout> <Label Text="Welcome to Camera Access In Xamarin forms"/> <Button Text="Take a Photo" x:Name="takePhoto" BackgroundColor="Fuchsia" Clicked="TakeAPhotoButton_OnClicked"/> <Button Text="Pick a Photo" x:Name="pickPhoto" BackgroundColor="Blue" Clicked="PickAPhotoButton_OnClicked"/> <Button Text="Take A Video" x:Name="takeVideo" BackgroundColor="Gray" Clicked="TakeAVideoButton_OnClicked"/> <Button Text="Pick A Video" x:Name="pickVideo" BackgroundColor="Green" Clicked="PickAVideoButton_OnClicked"/> <Image x:Name="image"/> </StackLayout> </ScrollView>
我参考了C# Corner的Xamarin.Forms相机应用教程以及YouTube上的Xamarin.Forms使用相机相关视频。
内容的提问来源于stack exchange,提问作者Mizanur Rahaman
相关产品推荐
相关产品推荐

