【发布时间】:2025-12-05 04:20:16
【问题描述】:
编辑 - 回答:感谢@LexLi 和@Amy,我找到了解决方案;我不小心创建了一个 .NET Core 控制台应用程序而不是 .NET Framework。一旦我将它重新制作为 .NET Framework 应用程序,它就有“System.Media”可用。
我对学习 C# 比较陌生(仅几周),但我正在尝试制作一个控制台应用程序文本游戏,并且我有一个打字机方法用于将消息打印到显示器上。
public static void typewriter(string s)
{
// This method types strings out slowly.
for (int i = 0; i < s.Length; i++)
{
Console.Write(s[i]);
Thread.Sleep(50);
}
}
我想在输入每个字符时添加一个声音(我已经有了打字机声音)。我看到有人推荐位于 System.Media 中的 SoundPlayer 类。它看起来像这样:
SoundPlayer typewriter = new SoundPlayer();
typewriter.SoundLocation = Environment.CurrentDirectory + "/typewriter.wav";
我的问题是,我似乎无法访问 System.Media
如果我键入 using System.(et cetera),Intellisense 不会将媒体显示为可用选项。我正在使用 Visual Studio 2019 并拥有 .Net Framework 4.8 版
如何访问 System.Media?
这是一张包含一些信息的照片,用于显示我的 .Net 框架,并且 Visual Studio 无法识别 SoundPlayer();
【问题讨论】:
-
查看 MSDN 以获取有关该命名空间的文档。确定它位于哪个程序集。然后添加对该程序集的引用。
-
提示:查找标题和命名空间下的documentation for the class,它显示“Assemblies: System.dll, System.Windows.Extensions.dll”。右键单击您的项目。选择 Add、Reference... 并找到其中一个程序集。
-
您可能创建了一个 .NET Core 控制台应用程序,而不是一个 .NET Framework 控制台应用程序(该领域新手的典型错误)。然后你不能使用那个类,除非你添加一个 NuGet 包引用到
System.Windows.Extensions。如果您手头的所有学习材料仍然基于 .NET Framework,我建议您创建一个 .NET Framework 控制台应用程序。
标签: c# media soundplayer