私は、ユーザーがプログラムで再生する WAV サウンドを選択できるようにするこの機能を備えたプログラムに取り組んできました。
この機能はオプション ダイアログに配置されているため、次のようにしたかったのです。
1) ボタンをクリックします
2) ボタンで画像が A から B に変わり、音声が再生されます
a) ユーザーが音が気に入らず、停止したい - もう一度クリックして 3) に進む
3) 音声が終わり、映像が A に戻る。
私の主な目的は、ユーザーがいつでもサウンドを中断できるようにすることです (ステップ 2 a)。
私は2つの方法を試しました:
Dim p as New Media.SoundPlayer
p.SoundLocation = fn 'Where fn is the FileName, the WAV location
p.Play
p.Stream.Length と p.Stream.Position を使用しようとしても、実際には null であったため、エラーが返されます。 't (Stream で表される WAV で My.Computer.Audio.Play を試しました) これらのプロパティは、サウンドが停止する前でも同じ値でした。
この後、私は試しました:
My.Computer.Audio.Play(fn,AudioPlayMode.WaitToComplete)
しかし、私が推測したように、サウンドが終了するまでプログラムがフリーズし、ユーザーがそれを中断したり、何もすることができなくなります。
幸いなことに、System.Media.SoundPlayer では、次のようにイベントで宣言できます。
Private WithEvents p as System.Media.SoundPlayer
とはいえ、これらのイベントはどれも、必要なことを行うのに役立ちません。
助言がありますか?前もって感謝します