2017-10-09 167 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是不可能的。我想我只是在本地創建臨時文件夾中的文件。 –

相關問題