私は最近C#に取り組み始めました。
私がやりたいことは、10 秒後に WPF アプリケーションで再生されたビデオを停止することです。ある種のタイマー (DispatcherTimer) が必要なのはわかっていますが、その使用方法がわかりません。
この点で何か助けていただければ幸いです。
XAML コード:
<MediaElement Canvas.Left="20" Canvas.Top ="40"
Name="VideoControl" LoadedBehavior="Manual" UnloadedBehavior="Stop"
MediaOpened="VideoControl_MediaOpened" Source="c:\users\ayymmoo\documents\visual
studio 2010\Projects\play_video\play_video\How I Met Your Mother Season 06 Episode 03
- Unfinished.avi">
</MediaElement>
Xaml.cs コード
void PlayClick(object sender, EventArgs e)
{
VideoControl.Play();
}
void PauseClick(object sender, EventArgs e)
{
VideoControl.Pause();
}
void StopClick(object sender, EventArgs e)
{
VideoControl.Stop();
}
private void VideoControl_MediaOpened(object sender, RoutedEventArgs e)
{
}
自分のコードをあなたが定義したものに置き換えようとしました......そしてそれは初めて正常に動作しますが、一時停止位置から再度再生すると、10秒前に再び一時停止し、再度再生すると一時停止間隔が短くなります繰り返しますが、これはコードです
public void PlayClick(object sender, EventArgs e) {
VideoControl.Play();
var dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 10);
dispatcherTimer.Start();
}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
VideoControl.Pause();
}