C# 同步多个媒体项
我有一个同时播放wmv文件的应用程序——它们都由一个滑块和播放/暂停/停止按钮控制 我使用下面的代码通过滑块控制视频-问题是,只要使用滑块两次或三次或多次,它们就会失去同步。有人知道怎么解决这个问题吗C# 同步多个媒体项,c#,C#,我有一个同时播放wmv文件的应用程序——它们都由一个滑块和播放/暂停/停止按钮控制 我使用下面的代码通过滑块控制视频-问题是,只要使用滑块两次或三次或多次,它们就会失去同步。有人知道怎么解决这个问题吗 private void slider1_DragCompleted(object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e) { videos[0].Position
private void slider1_DragCompleted(object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e)
{
videos[0].Position = TimeSpan.FromSeconds(slider1.Value);
foreach (MediaElement elem in videos)
{
elem.Position = videos[0].Position;
elem.Play();
}
哈哈,问题是视频[0]立即开始播放,甚至在其余元素开始播放之前。所有元素都不会同步,因为您正在调用该位置,然后根据元素逐个播放。请尝试以下方法:
private void slider1_DragCompleted(object sender,
System.Windows.Controls.Primitives.DragCompletedEventArgs e)
{
var realPosition = TimeSpan.FromSeconds(slider1.Value);
foreach (var elem in videos)
{
elem.Position = realPosition;
}
foreach (var elem in videos)
{
elem.Play();
}
谢谢你的回复!事实上,我确实希望这些文件一个接一个地开始,并在他们开始保持领先地位时获得第一个视频的当前位置,无论其他视频需要启动多长时间。不幸的是,你的例子似乎并没有让它变得更好。。。