.NET 5.0 中的 Windows 媒体播放器

Posted

技术标签:

【中文标题】.NET 5.0 中的 Windows 媒体播放器【英文标题】:Windows Media Player in .NET 5.0 【发布时间】:2022-01-02 09:52:40 【问题描述】:

我有一个 .NET 5.0 WinForms 应用程序,我试图在其中添加 Windows Media Player。我正在尝试通过执行 Choose Toolbox Items -> COM Compononents 将它添加到工具箱中,这告诉我 已添加以下控件但未启用。

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

【问题讨论】:

相关:Following controls were added but are not enabled, C#.NET Unable to add windows media player control to Toolbox 我已经看到,显然,他们使用的是 .NET Framework,而我使用的是 .NET 5.0。 【参考方案1】:

一个简单的解决方案是在代码中使用 WPF MediaPlayer 控件,

https://docs.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。

【讨论】:

我无法让它工作。你确定这就是我所需要的吗?当然我必须将播放器添加到我的表单控件集合中?我也刚尝试过使用 VideoDrawing,没有运气。【参考方案2】:

本页介绍了几种使用 Windows Media Player 控件的方法。

https://docs.microsoft.com/en-us/windows/win32/wmp/player-control-guide

如果你想使用 Windows Media Player 控件,.NET Framework 会是更好的选择

【讨论】:

您链接的是一个 WPF 控件,而不是这个问题所询问的那个(COM 控件)。此外,您解释“适用于”部分的方式也是错误的,WPF MediaPlayer 控件在 .NET 5 上可用,尽管与此问题无关。 “.NET Framework 将是更好的选择”。但这是唯一的选择吗?我应该尝试从 .NET 5.0 迁移到 .NET Framework 吗? 通过阅读文档,我们可以看到windows media player控件目前还没有应用于.NET 5.0。目前迁移到.NET Framework将是一个不错的选择

以上是关于.NET 5.0 中的 Windows 媒体播放器的主要内容,如果未能解决你的问题,请参考以下文章

Linux 上的 .Net 5.0 空闲 CPU 使用率高于 Windows

.NET 5.0 和 SOAP Web 服务

如何正确理解.NET 4.5和C#5.0中的async/await异步编程模式

Windows 媒体播放器播放列表

如何确定在 C# ASP.NET CORE MVC 5.0 中选择了哪个单选按钮

.NET 5.0 中的 xslt PDF 转换:特殊字符问题