CQ-CSER

计算机爱好者

SLIVERLIGHT播放器控件

Posted on | 四月 13, 2010 | 2 Comments

 <summary>
 2    /// Desc:媒体播放器控件
 3    /// Author:williams
 4    /// Date:2007-9-27//惭愧啊,人07年就在研究SLIVERLIGHT,哎
 5    /// </summary>
 6    public class MediaPlayControl : Control
 7    {
 8   
 9         私有变量#region 私有变量
10             private FrameworkElement parentControl;
11             private Canvas timeline;
12             private Canvas playButton;
13             private Canvas pauseButton;
14             private Canvas stopButton;
15             private MediaElement videoWindow;
16             private string mediaUrl=”";
17         #endregion
18        
19         公有属性#region 公有属性
20           public string MediaUrl
21           {
22                get{return this.mediaUrl;}
23               set
24               {
25                   this.mediaUrl = value;
26                   Uri url = new Uri(this.mediaUrl, UriKind.Relative);
27                   this.videoWindow.Source = url;
28               }
29           }
30         #endregion
31        
32         构造函数#region 构造函数
33        public MediaPlayControl()   
34        {
35            System.IO.Stream s = this.GetType().Assembly.GetManifestResourceStream

(“SilverControls.MediaPlayControl.xaml”);
36            parentControl =  this.InitializeFromXaml(new System.IO.StreamReader(s).ReadToEnd());
37            this.playButton = parentControl.FindName(“PlayButton”) as Canvas;
38            this.pauseButton = parentControl.FindName(“PauseButton”) as Canvas;
39            this.stopButton = parentControl.FindName(“StopButton”) as Canvas;
40            this.videoWindow = parentControl.FindName(“VideoWindow”) as MediaElement;
41
42            this.playButton.MouseLeftButtonUp += new MouseEventHandler(playButton_MouseLeftButtonUp);
43            this.stopButton.MouseLeftButtonUp += new MouseEventHandler(stopButton_MouseLeftButtonUp);
44            this.pauseButton.MouseLeftButtonUp += new MouseEventHandler(pauseButton_MouseLeftButtonUp);
45           
46        }
47
48        void pauseButton_MouseLeftButtonUp(object sender, MouseEventArgs e)
49        {
50            this.videoWindow.Pause();
51        }
52
53        void stopButton_MouseLeftButtonUp(object sender, MouseEventArgs e)
54        {
55           this.videoWindow.Stop();
56        }
57
58        void playButton_MouseLeftButtonUp(object sender, MouseEventArgs e)
59        {
60            this.Play();
61        }
62     #endregion
63    
64         公有方法#region 公有方法
65        public void Play()
66        {
67            if(this.mediaUrl!=string.Empty)
68            {
69                
70                 this.videoWindow.Play();
71            }
72        }
73     #endregion
74    }==============-

public void Page_Loaded(object o, EventArgs e)
 2        {
 3            // Required to initialize variables
 4            InitializeComponent();
 5           
 6            double top = 100;
 7           
 8            double left = 20;
 9           
10            MediaPlayControl media = new MediaPlayControl();
11
12           media.MediaUrl = “wow.wmv”;
13
14            media.SetValue<double>(Canvas.TopProperty, top);
15
16            media.SetValue<double>(Canvas.LeftProperty, left);
17         
18            this.Children.Add(media);
19}

相关文章:

  1. asp.net的几种页面传值方法
  2. 启动控制面板各选项:c#
  3. C#获取CPU的利用率代码
  4. VISUAL C#系列
  5. 在C#中使用钩子

评论|Comments

2 Responses to “SLIVERLIGHT播放器控件”

  1. 海派
    四月 16th, 2010 @ 19:57

    学习了。。

  2. 股票大单网
    四月 16th, 2010 @ 22:26

    不错啊,很久买来看博主了,辛苦了!

留言|Leave a Reply





  • Archives

  • SUNSHINE

  • About

    本博客采用创作共用版权协议,要求署名、非商业用途和保持一致. 转载本博客内容也遵循“署名-非商业用途-保持一致”的创作共用协议.

    订阅

    Search

    Admin