私は完全にこの問題に困惑しています。私はSilverlightでC#(VB.NETは使用しないでください)を使用して作成しているアプリケーション用の「クリックトラック」を作成しています。私はページ上に、クリック間の時間間隔を表すスライダーを持っています。 ()GUIをロックせずにwavファイルを再生する間に時間間隔を追加してください
int i = 0;
while(i < 1)
{
using (var stream = TitleContainer.OpenStream("click.wav"))
{
var effect = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
effect.Play();
}
ClickInterval(clickSlider.Value);
i++;
}
ClickIntervalをクリック間の時間間隔のための方法を表しています。言っていることを、私はこのような何かを見て自分のコードをしたいと思います。私はこの間隔を作る方法がわからない。タイマーは単にGUIをロックするだけで、これはスレッドがあまりにも多くのスレッドを作成する可能性があるため、スレッド化する方法があるかどうかはわかりません(これは本当に問題になるとは思えません)。おそらく上記のコードを書き直すこともできます。この一人のアイデアは何ですか?どんな提案も大きな助けになるでしょう!
ご協力いただきありがとうございます。私は問題を解決することができました: – Dylan
プライベートvoid TestMetronome(オブジェクト送信者、RoutedEventArgs e) { System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer(); myDispatcherTimer.Interval = new TimeSpan(0、0、0、0、1000); // 1000ミリ秒(1秒) myDispatcherTimer.Tick + =新しいEventHandler(Each_Tick); myDispatcherTimer.Start(); } – Dylan
公共ボイドEach_Tick(オブジェクトo、のEventArgs送信者)(VARストリーム= TitleContainer.OpenStream( "click.wav")){ VAR効果= SoundEffect.FromStream(ストリーム)を使用して {。 FrameworkDispatcher.Update(); effect.Play(); } } – Dylan