1

そのため、サウンドプレーヤーを使用して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を使用しています。

4

1 に答える 1