如何在WPF中使用MediaPlayer在Resources中播放WAV音频文件?

时间:2017-10-09 14:06:31

标签: c# wpf resources

我可以使用下面的代码在参考资料中播放wav音频文件。

文件已添加到参考资料中:

Practice_AccessResource>文件>属性>资源>音频>添加> ExistingFiles

//only can play audio file with SoundPlayer class.
System.IO.Stream strForMusic = Practice_AccessResourceFile.Properties.Resources.TaDa;
System.Media.SoundPlayer sountPlayer = new 
System.Media.SoundPlayer(strForMusic);
sountPlayer.Play();

仅供参考,项目名称是“ Practice_AccessResourceFile ”,而wav音频文件的名称是 TaDa.wav ,抱歉我无法更改你的名字。

有没有办法在WPF中使用MediaPlayer播放音频文件?

System.IO.Stream stream = Properties.Resources.TaDa;
MediaPlayer musicPlayer = new System.Windows.Media.MediaPlayer();
//musicPlayer.Open(new System.Uri(stream));  //This is not working
//musicPlayer.Play();

我必须同时播放两首音乐,SoundPlayer无法播放。

任何人都可以帮我在WPF中使用MediaPlayer类播放音频文件吗?

1 个答案:

答案 0 :(得分:1)

我认为MediaPlayer无法从资源中播放,例如,请参阅this question

如果您可以将文件写入磁盘上的临时文件夹,那么应该可以按this answer编译:

var p1 = new System.Windows.Media.MediaPlayer();
p1.Open(new System.Uri(@"C:\windows\media\tada.wav"));
p1.Play();

// this sleep is here just so you can distinguish the two sounds playing simultaneously
System.Threading.Thread.Sleep(500);

var p2 = new System.Windows.Media.MediaPlayer();
p2.Open(new System.Uri(@"C:\windows\media\tada.wav"));
p2.Play();