2017-10-09 680 views
0

我可以用下面的代码在资源中播放wav音频文件。如何使用WPF中的MediaPlayer在资源中播放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

您必须使用靠不住包语法,如图[这个问题](HTTPS ://stackoverflow.com/q/2625608/17034)。 –

+0

ohh ..我想我只是在临时文件夹中创建音频文件,然后在本地播放... Thnx –

回答

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(); 
+0

您发布的代码是我已经知道的,但是感谢您告诉我,以正常方式使用MediaPlayer是不可能的。我想我只是在本地创建临时文件夹中的文件。 –

相关问题