0

我在网上找到了一些代码片段,但问题是它们使用系统本地托管的文件位置,我想从我的应用程序播放 MP3 或 wav 并将 mp3 文件构建到应用程序中,而不是他们需要它以及 .可执行程序。知道如何做这样的事情吗?

4

1 回答 1

1

嵌入您的 mp3 或 wav 作为资源:

  1. 在解决方案资源管理器中右键单击您的项目。
  2. 从菜单中选择添加/现有项目... 选择并添加您的文件。
  3. 在解决方案资源管理器中选择一个新添加的文件,右键单击它
  4. 从右键菜单中选择属性
  5. 将其 Build Action 属性更改为 Embedded Resource

使用以下代码播放它:

WindowsMediaPlayer wmp = new WindowsMediaPlayer();
Stream stream = Assembly.GetExecutingAssembly(). GetManifestResourceStream("yourfile.mp3");
string temppath = Path.GetTempPath() + "\\temp.mp3";
using (Stream output = new FileStream (temppath, FileMode.Create))
{
   byte[] buffer = new byte[BUFFER_SIZE];
   int read;

        while ( (read= stream.Read(buffer, 0, buffer.Length)) > 0)
        {
            output.Write(buffer, 0, read);
        }
}
wmp.URL = temppath;
wmp.controls.play();

完成后不要忘记删除临时文件。

于 2012-04-14T05:23:51.947 回答