XAML 使用Xamarin形式的相机拍照

zvokhttg  于 2023-03-16  发布在  其他
关注(0)|答案(1)|浏览(245)

我有一个相机项目,它可以拍照,但当我按下拍照按钮,然后给出了一个错误。
错误为:你的应用已进入中断状态,但没有代码可显示,因为所有线程都在执行外部代码(通常是系统代码或框架代码)。

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,
        });

这是我的主页.XAML文件.我在这里设计UI.

<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>

我在我的项目中使用NuGet包。

Xam.Plugin.Media

我试着按照他们的文档。我不知道我的问题是什么,我按照这些链接Xamarin.Forms - Camera App。和youtube视频Using Camera with Xamarin Forms

相关问题