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應用開發 第12講:Silverlight中調用RIA Service

[舊一篇] Silverlight4 RIA應用開發 第10講:Blend中的SketchFlow特性
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表