.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 控件)。此外,您解释“适用于”部分的方式也是错误的,WPFMediaPlayer
控件在 .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 4.5和C#5.0中的async/await异步编程模式