.NET 5.0中的Windows Media Player

3

我有一个使用.NET 5.0编写的WinForms应用程序,我正在尝试添加Windows Media Player。我正在尝试通过执行选择工具箱项目 -> COM组件将其添加到工具箱中,但是这告诉我以下控件已添加但未启用。

我想知道是否存在一些版本兼容性问题,如果是这种情况,我该怎么做?


我看到他们似乎正在使用.NET Framework而我正在使用.NET 5.0。 - Veljanovski
2个回答

3
一个简单的解决方案是在代码中使用WPF MediaPlayer控件。 https://learn.microsoft.com/en-us/dotnet/api/system.windows.media.mediaplayer?view=windowsdesktop-6.0 步骤1:打开您的项目文件并启用WPF。
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net5.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

</Project>

第二步:在代码中初始化控件并播放一些文件。
using System.Windows.Media;

namespace testwinforms
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            var player = new MediaPlayer();
            player.Open(new Uri(@"C:\Users\someuser\Downloads\somefile.mp3"));
            player.Play();
        }
    }
}

这适用于.NET Core 3.0/3.1和.NET 5/6。

1
我无法让它工作。你确定这就是我所需要的吗?我肯定还需要将播放器添加到我的表单控件集合中,对吧? 我也尝试使用VideoDrawing,但没有成功。 - Veljanovski
@Veljanovski,这在我的机器上可以运行,我使用dotnet new winforms创建了一个空的WinForms项目,并进行了上述更改。如果您无法使其正常工作,那么您将需要展示您尝试过的具体步骤(详细说明)。 - Lex Li

-2

2
你链接的是一个WPF控件,而不是这个问题所问的(一个COM控件)。另外,你对“适用于”部分的解释是错误的,而且WPF的MediaPlayer控件在.NET 5上是可用的,但与这个问题无关。 - Lex Li
".NET Framework将是更好的选择"。但它是唯一的选择吗?我应该尝试从.NET 5.0迁移到.NET Framework吗? - Veljanovski
通过阅读文档,我们可以看到Windows Media Player控件目前尚未适用于.NET 5.0。目前迁移到.NET Framework将是一个不错的选择。 - Jingmiao Xu-MSFT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接