silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了设计silverlight的MediaPlay控件--silverlight(银光)学习(3),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
大家都知道silverlight里用了获得艾美奖的新的视频编解码技术。视频质量无论从移动设备还是桌面浏览器都可以达到720p HDTV video模式。如果能用silverlight技术设计一个视频网站估计客户体验很不错的。 那我们就开始做一个最简单的MediaPlayer控件,能动态的传入视频的URI参数,还能控制视频的播放。 在上次我们建的silverlight控件类
大家都知道silverlight里用了获得艾美奖的新的视频编解码技术。视频质量无论从移动设备还是桌面浏览器都可以达到720p HDTV video模式。如果能用silverlight技术设计
一个视频网站估计客户体验很不错的。
那我们就开始做
一个最简单的MediaPlayer控件,能动态的传入视频的URI参数,还能控制视频的播放。
在上次我们建的silverlight控件类库项目里
添加一个新的silverlight控件----MediaPlayContro
l.xam
l.
做
一个媒体播放器,难就难在界面设计上。如果要设计的简陋话,只需要在xaml
文件里放上@L_59_0
@mediaElement和几个TextBlock就可以了,不过这样实在太丑陋了。我就用了Microsoft Expression Encoder 里面媒体播放器的界面,
效果如下:
中间带摄像机图标的就是MediaElement ,几个按钮是由Canvas组成的。
代码过长,请下载该
文件
/Files/wangergo/MediaPlayControl.rar
那么如何控制视频的播放呢,这主要跟MediaElement有关系。
@H_346_18
@mediaElement有
一个重要的
属性是
source,它是指所要播放的媒体
文件的Uri,也就是媒体
文件的地址。
还有几个重要
方法:Pause--暂停播放,Play--播放,Stop--停止.
xaml
文件对应的.cs
文件代码如下:
1
/**/
/// <sumMary>
2 /// Desc:媒体播放器控件
3 /// Author:williams
4 /// Date:2007-9-27
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 }
然后我们在上次建的silverlight项目里的page.xam
l.cs
文件的page_loaded事件里
调用我们做的控件。
1
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}
具体silverlight控件库和silverlight项目如何建,请看
设计一个silverlight的Button控件--silverlight(闪光)学习(1)
本文版权属于
www.80back.com,williams所有,转载请注明出处。
大佬总结
以上是大佬教程为你收集整理的设计silverlight的MediaPlay控件--silverlight(银光)学习(3)全部内容,希望文章能够帮你解决设计silverlight的MediaPlay控件--silverlight(银光)学习(3)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。