相關閱讀 |
>>> 技術話題—商業文明的嶄新時代 >>> | 簡體 傳統 |
2010.11.11 蘇鵬
內容介紹
- 使用Silverlight中的Elements對象
- 比較Silverlight和Flash中恩對video對象
- 制作播放器
預備知識
- 安裝Visual Studio 2010
- 安裝Expression Blend4
- 安裝Silverlight tools for Visual Studio 2010
富媒體播放器
- 視頻和音頻載體MediaElement
支持格式
兩種播放
- 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
- 一個視頻播放器
自定義控件
單件模式工廠
VideoData
XmlRoot用來Match Xml文件
MainPage
如果是在其他服務器,拿WebClient是下載不下來的,因為有跨域問題。即使是在本服務器上想調用本服務器的文件,調用它的選擇方式也是選擇使用WebClient下載。這里使用異步方式下載并打開xml。
xmlData是取得的數據,數據是純字符串,這里讀到的VideoData因為是使用單件模式,所以全局都只有一個,避免了重復加載的問題。
MouseDragElementBehavior是Silverlight新特性,鼠標拖動事件,把它Attach到控件之后,這個控件就可以實現鼠標拖拽的操作了。
MainPage里面的MediaElement控件
運行結果
拖拽視頻進來之后,就播放拖拽進來的視頻
當拿到一個wmv視頻文件的時候,如果我們想在Silverlight中播放,需要先用MicrosoftExpressionEncoder把它格式化。
+號可以自定義一些帶寬的視頻,是為了Smooth技術用
Encode編碼
總結
- 使用Silverlight中的Elements對象
- 比較Silverlight和Flash中恩對video對象
- 制作播放器
2010.12.1
MSDN 網絡廣播 蘇鵬 2013-08-22 09:38:22
稱謂:
内容: