当前上下文C#错误中不存在名称“CrossMedia”

问题描述 投票:0回答:3

我正在为Xamarin Studio编写媒体插件的代码,显然我在尝试构建应用程序时遇到以下错误:

“在当前背景下,'CrossMedia'这个名称并不存在”

我一直试图找到解决问题的方法。下面是代码。

using System;
using Relate.Model;
using Xamarin.Forms;

using System.IO;

namespace Relate.Views
{

    public partial class EditMemberPage : ContentPage
    {
        public EditMemberPage()
        {
            InitializeComponent();
        }

        async void TakeaPhoto_OnClicked(object sender, EventArgs e)
        {

          if (CrossMedia.Current.IsCameraAvailable && CrossMedia.Current.IsTakePhotoSupported)
            {
                // Supply media options for saving our photo after it's taken.
                var mediaOptions = new Plugin.Media.Abstractions.StoreCameraMediaOptions
                {
                    Directory = "Receipts",
                    Name = $"{DateTime.UtcNow}.jpg"
                };

                // Take a photo of the business receipt.
                var file = await CrossMedia.Current.TakePhotoAsync(mediaOptions);
            }

            if (CrossMedia.Current.IsCameraAvailable && CrossMedia.Current.IsTakeVideoSupported)
            {
                // Supply media options for saving our video after it's taken.
                var mediaOptions = new Plugin.Media.Abstractions.StoreCameraMediaOptions
                {
                    Directory = "Videos",
                    Name = $"{DateTime.UtcNow}.mp4"
                };

                // Record a video
                var file = await CrossMedia.Current.TakeVideoAsync(mediaOptions);
            }

            // Select a photo. 
            if (CrossMedia.Current.IsPickPhotoSupported)
            {
                var photo = await CrossMedia.Current.PickPhotoAsync();
            }

            // Select a video. 
            if (CrossMedia.Current.IsPickVideoSupported)
            {
                var video = await CrossMedia.Current.PickVideoAsync();
            }
        }

        async void SaveButton_OnClicked(object sender, EventArgs e)
        {
            var famMemberItem = (FamMember)BindingContext;
            await App.Database.SaveFamMemberAsync(famMemberItem);
            await Navigation.PopAsync();
        }
    }
}
c# android xamarin media
3个回答
0
投票

using Plugin.Media;添加到文件的开头


0
投票

尝试初始化插件,然后再使用它,如文档中所述。

await CrossMedia.Current.Initialize();

0
投票

我知道这是一个老问题,但我在VS2017中使用NuGet Package Manager CLI安装软件包时遇到了同样的问题:

Install-Package Xam.Plugin.Media

似乎安装不是问题,但我错了。我没有意识到的是它只为Android项目而不是所有项目安装它。要做到这一点,你必须右键单击顶部的解决方案,然后选择Manage NuGet Packages for Solution。单击Xam.Plugin.Media软件包,在相邻的窗格中,它将告诉您是否已为解决方案中的所有项目安装了复选框。如果您有任何空白,则可以选中复选框并点击Install以完成设置。我纠正了这个问题后,这是我的:

Screenshot of NuGet for the solution

© www.soinside.com 2019 - 2024. All rights reserved.