そのため、サウンドプレーヤーを使用してwavファイルをロードし、ロードが完了した後にイベントを発生させようとしています。理由は、WAVが完全にロードされて実行できるようになるまで、プログラムを続行したくないということです(これを行う別の方法がある場合は、私に知らせてください)。
ただし、残念ながら、LoadCompletedイベントは発生しません。
これが私が試した最後のことです。私は何が間違っているのですか?
this.audio = new SoundPlayer();
audio.SoundLocation = "songs\\" + songname + ".wav";
audio.LoadAsync();
これはsongdataオブジェクトに属しています。次に、これがメインクラスのメインメソッドです。
this.songdata.audio.LoadCompleted += new AsyncCompletedEventHandler(audio_LoadCompleted);
this.songdata.audio.Play();
最後にメインクラス内:
void audio_LoadCompleted(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("aaa");
}
ファイルの再生は開始されますが、メッセージボックスは表示されません。ところで、私はVisualStudio2010と.NET4.0を使用しています。