このコードを使用してリソースからWAVファイルを再生し、オーディオは正しく再生されますが、再生後に静的な短いブラストが発生します(約1/2秒)。
//System.Media.SystemSounds.Beep.Play();
SoundPlayer sndPlayer = new SoundPlayer();
sndPlayer.Stream = Resources.Notify;
sndPlayer.Play();
上記の行のコメントを外すSystem.Media.SystemSounds.Beep.Play()と、リソースからのビープ音と通知音の両方が正しく再生され、静的な音は鳴りません。私は上記のコードのいくつかの異なるバリエーションを試しましたが、常に静的なものを取得しています。初期のガベージコレクションに関連するものがある場合に備えて、すべての変数を静的にしようとしましたが、それは役に立ちませんでした。
WAVファイルは私がc:\WINDOWS\Media\ding.wav(Windows XPで)コピーしたものであり、WindowsMediaPlayerで正常に再生されます。また、newを使用するSoundPlayer("c:\WINDOWS\Media\ding.wav")と、ファイルから正しく再生されます。
UnmanagedMemoryStreamそれはそれと関係があると思いますResources.Notify、そして多分私はそれを最初に管理されたストリームにロードする必要がありますか?new Bitmap(Resource.MyPNG)使用せずに直接使用しようとすると、PNGファイルで問題が発生したことはわかっているResource.MyPNGので、WAVリソースと似たようなものがありますか?
更新:当初はサウンドが再生されるたびに発生すると思っていましたが、今ではアプリでサウンドを再生するのは初めてのようです。では、初期化を行う必要があるのではないでしょうか。
私もこれを試しました、同じ問題:
SoundPlayer sndPlayer = new SoundPlayer(Resources.Notify);
sndPlayer.Play();