0 0

silverlight中的控件MediaElement3

大家好,我目前在用sl写一个视频播放器。大致界面如下:



问题在于,用鼠标拖动进度条时选择播放时,发现视频会停顿很长时间。
去网上搜过一些帖子,貌似大家都没注意到这个问题。
我的代码如下:

void player_MediaOpened(object sender, RoutedEventArgs e)
{
    this.bdControl.Visibility = System.Windows.Visibility.Visible;
    //set the sldPlaying's maximum【sldPlaying就是下面的进度条,player是页面中的视频控件MediaElement】
    this.sldPlaying.Maximum = this.player.NaturalDuration.TimeSpan.TotalSeconds;

    this.LayoutRoot.Width = this.player.NaturalVideoWidth;
    this.LayoutRoot.Height = this.player.NaturalVideoHeight;

    timer.Start();

    duration = this.player.NaturalDuration.HasTimeSpan ? this.player.NaturalDuration.TimeSpan : TimeSpan.FromMilliseconds(0);
    this.tbkTotal.Text = string.Format("{0:00}:{1:00}:{2:00}",duration.Hours,duration.Minutes,duration.Seconds);
    //go to the first frame
    //this.player.Position = TimeSpan.FromSeconds(1);
    //this.player.Pause();
}

//这里是注册了进度条值改变时的事件处理函数
private void sldPlaying_ValueChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<double> e)
{
    // TODO: Add event handler implementation here.
    if (this.player.CanSeek)
    {
        //this.player.Pause();
        this.player.Position = TimeSpan.FromSeconds(this.sldPlaying.Value);
        //this.player.Play();
    }
}

希望大家能帮忙想想办法。
谢谢。
2012年3月12日 15:50
  • 大小: 871.7 KB

1个答案 按时间排序 按投票排序

0 0

 if (this.player.CanSeek) 
    { 
        //this.player.Pause(); 
        this.player.Position = TimeSpan.FromSeconds(duration *this.sldPlaying.Value); 
        //this.player.Play(); 
    } 

2012年3月12日 19:35

相关推荐

    silverlight MediaElement 控件读取FLV格式视频

    silverlight MediaElement 控件读取FLV格式视频 一个是从客户端读取的,一个是从服务端读取的。

    Silverlight基本控件介绍.doc

    十九、MediaElement控件 14 二十、StackPanel控件 14 二十一、ProgressBar控件 15 二十二、RadioButton控件 16 二十三、TextBox控件 16 二十四、Ellipse控件 17 二十五、Line控件 18 二十六、Polyline控件 18 二十七...

    wp7 控件练习

    SilverlightToolkitControls 是SilverlightToolkit中的控件练习 1. 项目WPControls中包含如下控件使用: 面板类控件 Grid Canvas StaticPanal Border Web控件 WebBrowaer 资源字典 ResourceDictionary ...

    MICROSOFT SILVERLIGHT 4从入门到精通

    全书共14章,主题广泛,涉及基础和控件,布局和样式,RIA和图像处理,MediaElement的对象模型、Silverlight的变换和动画引擎,浏览器桥,Windows Phone和XNA等,是帮助读者理解Silverlight开发全景的理想参考。...

    Silverlight2.0功能展示Demo源码

    3、Silverlight(5) - 2.0控件之ListBox, MediaElement, MultiScaleImage, PasswordBox, ProgressBar, RadioButton 介绍 Silverlight 2.0 控件一览:ListBox, MediaElement, MultiScaleImage, PasswordBox, ...

    SilverLight趣味钢琴源码

    1、添加多个MediaElement控件,循环使用,以达到同时播放多个音阶的效果 2、提示按键模块分3组动画,分别为提示部分、目标部分和离开部分,进入目标区和离开目标区都要触发对应的事件,以使外部判断用户是否按照提示...

    CSSL4MediaPlayer简单媒体播放器

    Silverlight简单媒体播放器, 利用MediaElement控件制作, 欢迎参考.

    SilverLight趣味钢琴

    1、添加多个MediaElement控件,循环使用,以达到同时播放多个音阶的效果 2、提示按键模块分3组动画,分别为提示部分、目标部分和离开部分,进入目标区和离开目标区都要触发对应的事件,以使外部判断用户是否按照提示...

    bfq.rar_bfg.applesays.cpm_bfq. applesays. cpm_bfq. applesays.cpm

    在Silverlight开发中我们可能需要自定义开发一个播放器来满足自己的需要,其中一个重要的功能是双击播放器界面能够... 首先,我们新建一个Silverlight项目,并拖一个MediaElement控件和一个辅助的按钮到设计界面上。

    一款非常好的WPF编程宝典2010 源代码

    15.5.2 ItemsControl控件中的 控件模板 388 15.5.3 修改滚动条 390 15.5.4 创建自定义窗口 394 15.5.5 SimpleStyle示例项目 398 15.6 结束语 400 第16章 数据绑定 401 16.1 数据绑定基础 401 16.1.1 绑定到...

    Apress.Pro.WPF.in.C.Sharp.2008.2nd.Edition.Feb.2008

    15.5.2 ItemsControl控件中的 控件模板 388 15.5.3 修改滚动条 390 15.5.4 创建自定义窗口 394 15.5.5 SimpleStyle示例项目 398 15.6 结束语 400 第16章 数据绑定 401 16.1 数据绑定基础 401 16.1.1 绑定到元素的...

Global site tag (gtag.js) - Google Analytics