このコードを使用してリソースから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();