如何从C#中的资源中播放.mp3文件?

car*_*k3r 7 .net c# resources mp3 playback

我把music.mp3放在资源中,然后我将Windows Media Player添加到引用中.我写了这段代码:

WindowsMediaPlayer wmp = new WindowsMediaPlayer();
            wmp.URL = "music.mp3";
            wmp.controls.play();
Run Code Online (Sandbox Code Playgroud)

它不起作用.如何从资源中播放.mp3文件?

car*_*k3r 6

我做的:

WindowsMediaPlayer wmp = new WindowsMediaPlayer();
        Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("PostGen.Resources.Kalimba.mp3");
        using (Stream output = new FileStream ("C:\\temp.mp3", FileMode.Create))
        {
            byte[] buffer = new byte[32*1024];
            int read;

            while ( (read= stream.Read(buffer, 0, buffer.Length)) > 0)
            {
                output.Write(buffer, 0, read);
            }
        }
        wmp.URL = "C:\\temp.mp3";
        wmp.controls.play();
Run Code Online (Sandbox Code Playgroud)

我们必须删除这个临时文件:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        File.Delete("C:\\temp.mp3");
    }
Run Code Online (Sandbox Code Playgroud)