如何使用WPF中的MediaPlayer在资源中播放WAV音频文件?
问题描述:
我可以用下面的代码在资源中播放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类播放音频文件吗?
答
我相信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是不可能的。我想我只是在本地创建临时文件夹中的文件。 –
您必须使用靠不住包语法,如图[这个问题](HTTPS ://stackoverflow.com/q/2625608/17034)。 –
ohh ..我想我只是在临时文件夹中创建音频文件,然后在本地播放... Thnx –