C# Mediaplayer 不从资源播放 mp3 文件

C# Mediaplayer doesn't play mp3 file from resources

Mediaplayer 不适合我,所以我转到了一个简单的测试项目(C# 控制台应用程序)。我像这样将我的 .mp3 文件添加到项目中:

  1. 在解决方案资源管理器中右键单击项目名称(测试)
  2. 添加文件夹资源
  3. 右键单击解决方案资源管理器中的资源文件夹
  4. 添加我的 warn.mp3 文件
  5. 左键单击 warn.mp3 文件
  6. 在属性 window 中将生成操作更改为资源。

遗憾的是,这段代码不起作用:

namespace test
{
    class Program
    {
        public static void Main(string[] args)
        {
            MediaPlayer player = new MediaPlayer();
            player.Open(new Uri("resources/warn.mp3", UriKind.Relative));
            player.Play();
            Console.ReadKey();
        }
    }
}

然而,这个确实如此:

namespace test
{
    class Program
    {
        public static void Main(string[] args)
        {
            MediaPlayer player = new MediaPlayer();
            player.Open(new Uri("C:\Users\Krepsy3\Documents\Programs\OOP\test\test\resources\warn.mp3", UriKind.Absolute));
            player.Play();
            Console.ReadKey();
        }
    }
}

知道哪里出了问题吗?

这个怎么样:

namespace test
{
    class Program
    {
        public static void Main(string[] args)
        {
            MediaPlayer player = new MediaPlayer();
            player.Open(new Uri(System.Environment.CurrentDirectory + "\resources\warn.mp3", UriKind.Relative));
            player.Play();
            Console.ReadKey();
        }
    }
}

您不能使用来自内部 exe/dll 资源的 MediaPlayer。您应该选择另一个播放器组件或将其写入磁盘。如果你可以选择另一个球员,看起来 System.Media.SoundPlayer 可以做到这一点。搜索 stack overflow Play wav/mp3 from memory 应该会给出一些结果