大家好,我目前在用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();
}
}
希望大家能帮忙想想办法。
谢谢。
相关推荐
MediaElement是Silverlight中的一个核心控件,用于播放音频和视频内容。本文将深入探讨如何使用Silverlight的MediaElement控件来读取FLV格式的视频,以及从客户端和服务端两种不同方式实现这一功能。 首先,让我们...
在Silverlight开发中,控件是构建用户界面的基础元素,它们提供了丰富的功能和交互性。以下是对这些控件的详细解释: 一、布局控件 布局控件是用于组织和定位其他控件的容器,例如Grid、StackPanel、Canvas和...
Silverlight虽然提供了MediaElement控件,但并未提供一个完全封装好的、可以直接使用的播放器。因此,作者决定根据基本功能需求来封装一个简洁的播放器。 播放器的功能包括: 1. 播放和暂停,以及显示当前播放状态...
在本文中,我们将深入探讨如何使用ASP.NET的Silverlight控件来创建一个功能丰富的播放器应用。Silverlight是微软推出的一种强大的富互联网应用程序(RIA)平台,它允许开发者构建具有丰富媒体体验和交互性的Web应用...
SilverlightToolkitControls 是SilverlightToolkit中的控件练习 1. 项目WPControls中包含如下控件使用: 面板类控件 Grid Canvas StaticPanal Border Web控件 WebBrowaer 资源字典 ResourceDictionary ...
MediaElement是Windows Presentation Foundation (WPF)和Silverlight中的一个控件,用于播放音频和视频内容。本项目涉及的"MediaElement C#解码(h.264和aac)FLV MP4 源码"是一个专门针对MediaElement的C#实现,它...
以下是一些Silverlight中常见控件的详细说明: 1. AutoCompleteBox:这个控件允许用户在文本框中输入文字,同时会基于输入内容动态显示下拉列表,帮助用户找到可能的匹配项。这对于快速搜索和数据输入非常有用。 2...
### Silverlight基本控件概述 #### 一、布局控件Canvas **Canvas** 是一种非常基础的布局面板,它支持对其中的控件采用绝对坐标定位。这意味着开发者可以直接通过 `Canvas.Left` 和 `Canvas.Top` 属性来精确地设置...
1. **创建项目**: 使用Visual Studio创建一个新的Silverlight项目,并添加MediaElement控件到XAML布局中。 2. **设置源**: 为MediaElement指定视频源,可以是本地文件路径,也可以是URL。例如: ```xml ...
用户可以通过调用相关API来开启摄像头,获取视频流,并将其显示在MediaElement中。同时,音频采集则可能通过Microphone类来实现,获取麦克风输入的声音。 此外,为了实现聊天功能,还需要一个文本输入和显示机制。...
本篇将详细讲解Silverlight 2.0版本中新增的类控件及其相关知识点。 首先,让我们了解Silverlight 2.0的核心改进。相较于最初的版本,2.0引入了大量的新功能和改进,包括对.NET Framework的支持,使得开发者可以...
首先,要理解Silverlight中的MediaElement控件,它是Silverlight用来播放音频和视频的核心组件。在MP3播放器中,MediaElement用于加载MP3文件,并通过编程接口控制播放行为。开发者可以通过设置MediaElement的Source...
MediaElement是Silverlight中用于处理音频和视频内容的主要控件。它能够加载本地或远程媒体文件,并提供播放、暂停、停止、快进、倒退等基本操作。在我们的自定义音乐播放器中,MediaElement是核心部分,它负责播放...
首先,我们需要了解Silverlight 2中的MediaElement控件。MediaElement是Silverlight提供的一个核心控件,用于播放音频和视频。要实现声音循环播放,我们将主要依赖于这个控件及其事件。 1. 添加MediaElement控件:...
Silverlight的MediaElement控件可以用来集成音频和视频内容,提供丰富的媒体体验。 在实际项目中,Silverlight还可以与其他Microsoft技术,如WCF(Windows Communication Foundation)和ASP.NET结合,实现服务器端...
在互联网技术中,这样的控件通常是由JavaScript、ActiveX、Flash或Silverlight等技术实现的,它们允许网页与用户的硬件设备(如摄像头)进行交互。 在描述中提到的“针对IE8.0浏览器无法视频摄像头拍照的控件”,...
通过在Silverlight控件中指定一个默认的.xaml文件,可以自动加载该页面作为应用程序的入口点,简化用户的启动流程。 #### 第十六章:如何从其他的XAML页面打开XAML页面? 在Silverlight中导航到不同的页面通常通过...
3. **MediaElement组件**:在Silverlight中,MediaElement是用于播放音频和视频的核心组件。在源码中,你会看到MediaElement是如何被使用来加载音频文件并进行播放控制的。例如,设置Source属性加载音频文件,使用...
这个播放器的核心组件是MediaElement控件,它允许开发者在WPF应用程序中嵌入视频和音频播放功能。MediaElement不仅支持常见的媒体格式,如WMV、MP4和AVI,还能通过设置属性和触发器来控制播放、暂停、停止等基本操作...
例如,开发音乐播放器的过程中,会涉及到XAML(Extensible Application Markup Language)用于界面布局和声明式编程,C#或VB.NET作为后台代码实现逻辑处理,以及MediaElement控件用于音频播放。MediaElement不仅支持...