2017-10-09 36 views
0

以下のコードを使って、リソース内でwavオーディオファイルを再生することができました。WPFでMediaPlayerでリソース内のWAVオーディオファイルを再生するには?

ファイルがでリソースに追加されました。

Practice_AccessResource> [ファイル]> [プロパティ]> [リソース]>オーディオ> FYI> 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です。申し訳ありませんが、私はuの名前を変更できませんでした。

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

私は2つの音楽を同時に再生する必要があり、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で不可能だと教えてくれてありがとう。私はちょうどtempフォルダにローカルでファイルを作成すると思います。 –

関連する問題