Silverlight4 RIA应用开发 第11讲:多媒体播放器开发

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

2010.11.11 苏鹏

内容介绍

- 使用Silverlight中的Elements对象

- 比较Silverlight和Flash中恩对video对象

- 制作播放器

 

预备知识

- 安装Visual Studio 2010

- 安装Expression Blend4

- 安装Silverlight tools for Visual Studio 2010

 

富媒体播放器

- 视频和音频载体MediaElement

 

支持格式

image

 

两种播放

- Flash还是Silverlight?

 

在国内很少有实时视频采集的需要,基本上都是录播,Flash在录播上就相对有优势。首先Flash的客户端非常普及,然后Flash相对压缩比例比Silverlight高,在网络状态不太好的情况,Silverlight占用的带宽要比Flash大,如果带宽不足,最好还是选择Flash。

 

Silverlight特性

- 更好的压缩比

- 无需额外解码器

- 内建DRM支持

- Smooth Streaming技术

- IIS插件支持HD(720P)

- 更多格式支持

 

内建DRM是指把视频的版权声明和认证做到视频源内部,当打开视频的时候可以看到认证的信息,可以要求用户必须输入用户名和密码认证之后才能观看视频。

Smooth Streaming是必须和IIS7及以上版本绑定的技术,它可以在浏览器侦测你计算机的性能,然后根据当前网络情况和计算机硬件设备来切换不同的视频源,这样做的好处是对同一个视频推送不同的视频效果。

 

Flash特点

- 客户端广泛

- 对CPU占用少

- 广泛的编码方式支持转换成为FLV

- Mobile Video支持

 

创建一个播放器

- 使用xml数据源

- 支持拖拽文件操作

- 单件模式的数据工厂

- 更多视觉效果

 

Demo

- 一个视频播放器

image

image

自定义控件

image

image

单件模式工厂

image

image

VideoData

image

XmlRoot用来Match Xml文件

image

MainPage

image

如果是在其他服务器,拿WebClient是下载不下来的,因为有跨域问题。即使是在本服务器上想调用本服务器的文件,调用它的选择方式也是选择使用WebClient下载。这里使用异步方式下载并打开xml。

image

xmlData是取得的数据,数据是纯字符串,这里读到的VideoData因为是使用单件模式,所以全局都只有一个,避免了重复加载的问题。

image

image

MouseDragElementBehavior是Silverlight新特性,鼠标拖动事件,把它Attach到控件之后,这个控件就可以实现鼠标拖拽的操作了。

image

image

MainPage里面的MediaElement控件

image

运行结果

imageimage

拖拽视频进来之后,就播放拖拽进来的视频

image

 

当拿到一个wmv视频文件的时候,如果我们想在Silverlight中播放,需要先用MicrosoftExpressionEncoder把它格式化。

image

image

image

+号可以自定义一些带宽的视频,是为了Smooth技术用

image

Encode编码

image

 

总结

- 使用Silverlight中的Elements对象

- 比较Silverlight和Flash中恩对video对象

- 制作播放器

2010.12.1


MSDN 网络广播 苏鹏 2013-08-22 09:38:22

[新一篇] Silverlight4 RIA應用開發 第10講:Blend中的SketchFlow特性

[舊一篇] Silverlight4 RIA應用開發 第12講:Silverlight中調用RIA Service
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表