最近、WPF ゲームを作成しました。最後に追加したのは音楽で、ループ付きの mp3 だけでした。
これは私がそれを達成するためにしたことです。
Music = new MediaPlayer();
Music.Open(new Uri("Sounds/MyMusic.mp3", UriKind.Relative));
Music.MediaEnded += MusicEnded;
Music.Play();
private void MusicEnded(object sender, EventArgs e)
{
Music.Stop();
Music.Play();
}
ゲームは正常に動作しており、問題なく 3 日間 2 時間以上使用しましたが、そのうちの 1 日で音楽が停止し、他のサウンドが再生され続けました。
これはどうして起こったのでしょうか?イベント ハンドラーは 1 つのイベントを見逃すことができますか? その場合、誰も EventHandler や音楽を監視していないため、私のコードは機能しなくなります。
このコードを改善するにはどうすればよいですか? またはこれが起こらないようにしますか?