はじめに
仕事上、サウンドを扱う事はあまりないのですが、たまたま現在のプロジェクトで触る機会がありましたので、ついでのついでで記事にしておきたいと思います。(笑)とっても簡単なので、一瞬で覚えられると思います。
ただし、wavファイルしか鳴らせませんが、、、
問答無用に、サウンドを鳴らしてみる
コンストラクタ引数の場合
var soundPlayer = new SoundPlayer(@"c:\windows\media\tada.wav"); soundPlayer.Play();
コンストラクタ引数を使わない場合
var soundPlayer = new SoundPlayer(); soundPlayer.SoundLocation = @"c:\windows\media\tada.wav"; soundPlayer.Play();
これだけで、サウンドがなります。
ただ、メソッドを眺めていると色々なものがありますので、ちょっと実験してみましょう。
- Play サウンドが鳴り終わるまで、待ちません。別スレッドで処理されます。
- PlaySync サウンドが鳴り終わるまで、次に進みません。UIスレッドで処理されます。
- PlayLooping サウンドが鳴り終わるまで、待ちません。リピート再生されます。
サウンドを止めるには、「Stop」メソッドを呼び出してください。
リソースに取り込んで、ならしてみる
「プロジェクト」の「プロパティ」を表示させてください。次に、「リソース」タブを選択してください。「リソースの追加」の右にある「▼」をクリックして、以下の画面のようにしてください。
「既存のファイルの追加」を選択することにより、ファイル選択ダイアログが開きます。

サンプルでは、
「c:\windows\media\tada.wav」
を選択してみました。

では早速、プログラムを修正してみましょう。
コンストラクタ引数の場合
var soundPlayer = new SoundPlayer(Properties.Resources.tada); soundPlayer.Play();
コンストラクタ引数を使わない場合
var soundPlayer = new SoundPlayer(); soundPlayer.Stream = Properties.Resources.tada; soundPlayer.Play();
Streamをそのまま扱えるので、リソース化したWaveファイルもそのまま鳴らす事が出来ます。
とくにコツもありませんので、すぐに使えるかと思います。
