首页 > 解决方案 > 使用 Xamarin.Forms 的 WPF 项目中不会显示视频

问题描述

我试图让视频显示在我的 WPF 应用程序中,使用 Xamarin.Forms 用 C# 编写。它编译,但视频不显示。

我为我冗长的问题道歉。我试图提供尽可能多的背景和细节。

我没有很多编码经验,但我已经从事个人项目几年了。我最初使用 .NET Framework 用 C# 编写了一个 Windows 应用程序。我想让它在 MacOS 和 Windows 上可用,所以我开始使用 C#、Xamarin 和 .NET 5.0 重写它。

最初,我在问如何让它在我的应用程序中运行。在 ToolMakerSteve 的建议下,我回到了 MediaElementDemos 示例,让它在 Android 模拟器上运行,然后添加了一个 WPF 项目。

当我尝试学习如何显示视频时,我在这里加载了一个 mediaelement 示例,并且能够在 Android 模拟器中显示视频。然后我根据此处找到的说明添加了一个 WPF 项目。

我将 WPF 项目设置为启动项目。当我尝试运行它时,它出错了

 Xamarin.Essentials.NotImplementedInReferenceAssemblyException: 'This
 functionality is not implemented in the portable version of this assembly.     You 
should reference the NuGet package from your main application project in order to 
reference the platform-specific implementation.'

指向

await FileAccess.CopyVideoIfNotExists("XamarinForms101UsingEmbeddedImages.mp4");

在 App.Xaml.cs 文件中:

using MediaElementDemos.Helpers;
using Xamarin.Forms;

namespace MediaElementDemos
{
    public partial class App : Application
    {
        public App()
        {
            InitializeComponent();
        }

        protected override async void OnStart()
        {
            await FileAccess.CopyVideoIfNotExists("XamarinForms101UsingEmbeddedImages.mp4");
            MainPage = new NavigationPage(new MainPage());
        }

        protected override void OnSleep()
        {
        }

        protected override void OnResume()
        {
        }
    }
}

如果我注释掉那行

await FileAccess.CopyVideoIfNotExists("XamarinForms101UsingEmbeddedImages.mp4"); 

然后应用程序运行,但不显示视频,无论我选择哪个菜单选项。

我不确定在哪里可以解决这个问题。我已经坚持了几个星期,并开始在我的谷歌搜索中转圈。

我愿意学习和研究,而不仅仅是要求施舍。我只是不知道在哪里寻找答案。提前感谢您提供的任何帮助或指导。

标签: c#wpfxamarinxamarin.forms

解决方案


推荐阅读