中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

使用 Silverlight Media Framework 構(gòu)建自定義播放器

      流媒體已在網(wǎng)絡(luò)上無(wú)處不在。似乎所有人(從新聞?wù)军c(diǎn)到社交網(wǎng)絡(luò)再到隔壁的鄰居)都在享受在線視頻體驗(yàn)。由于用戶(hù)群的不斷攀升,大多數(shù)站點(diǎn)需要以一種值得信賴(lài)、用戶(hù)友好的方式為其客戶(hù)提供高品質(zhì)視頻,通常為高品質(zhì)帶寬感知 視頻。

      在線媒體傳輸體驗(yàn)的核心要素是播放器本身。播放器是用戶(hù)與之發(fā)生交互的介質(zhì),它可以驅(qū)使用戶(hù)獲得在線體驗(yàn)的每一個(gè)要素。播放器如此備受關(guān)注,毫無(wú)疑問(wèn),基于 Web 的現(xiàn)代媒體播放器在實(shí)現(xiàn)時(shí)勢(shì)必要比幾年前的老款播放器復(fù)雜得多。因此,開(kāi)發(fā)人員需要一個(gè)穩(wěn)健的框架來(lái)構(gòu)建播放器。

      Silverlight Media Framework (SMF)是一個(gè)開(kāi)源項(xiàng)目,由 Microsoft 在 2009 年 Microsoft 專(zhuān)業(yè)開(kāi)發(fā)人員大會(huì)上發(fā)布。此項(xiàng)目是一個(gè)可擴(kuò)展的、具備高度伸縮性的 Silverlight 視頻框架,它直接解決了開(kāi)發(fā)人員和設(shè)計(jì)人員的需求,為其提供了穩(wěn)定的內(nèi)核來(lái)創(chuàng)建自己的播放器。Silverlight Media Framework 的核心代碼已根據(jù)從 NBC Olympics 和 Sunday Night Football Web 視頻項(xiàng)目中所學(xué)的課程經(jīng)過(guò)優(yōu)化。

      本文將介紹 SMF 的基本要素,演示如何將 SMF 集成到您自己的播放器項(xiàng)目中,并通過(guò)一個(gè)簡(jiǎn)單項(xiàng)目向您逐步介紹如何使用 SMF 打造自定義播放器體驗(yàn)。我將向您展示如何使用 SMF 的日志記錄、設(shè)置和事件處理功能。最后,我將創(chuàng)建一個(gè)播放器應(yīng)用程序,該應(yīng)用程序會(huì)在當(dāng)前的視頻播完后顯示建議您日后觀看的視頻。

      SMF 入門(mén)

      開(kāi)始前,您需要先從 Codeplex(smf.codeplex.com)下載框架。您還需要下載平滑流式處理播放器開(kāi)發(fā)工具包(iis.NET/expand/smoothplayer)并在使用 SMF 的任何項(xiàng)目中參考它。平滑流式處理播放器開(kāi)發(fā)工具包不屬于 SMF,它是完全獨(dú)立的封閉源組件。不過(guò),SMF 可以利用該工具包中的一組核心功能,特別是視頻播放器本身。在撰寫(xiě)本文檔時(shí),平滑流式處理播放器開(kāi)發(fā)工具包為 beta 2 版本。

      SMF 包含大量 Microsoft .NET 程序集(如圖 1 所示),每個(gè)程序集都構(gòu)成整個(gè)框架的不同功能部分。

 

圖 1 Silverlight Media Framework 程序集

      核心程序集是 Microsoft.SilverlightMediaFramework.dll,它由框架其余部分引用的眾多實(shí)用程序類(lèi)和類(lèi)型組成。使用 SMF 的任意部分時(shí),也必須引用 Microsoft.SilverlightMediaFramework.dll 程序集。

      Microsoft.SilverlightMediaFramework.Data 命名空間提供幫助程序類(lèi),以使用播放器外部的數(shù)據(jù)以及封裝播放器內(nèi)部的數(shù)據(jù)。該數(shù)據(jù)可以是任何格式的通用數(shù)據(jù),但也可以是播放器自身的設(shè)置信息。Microsoft.SilverlightMediaFramework.Data.Settings 是另一個(gè)命名空間,用于顯示類(lèi)型和處理播放器設(shè)置。

除了用于設(shè)置的數(shù)據(jù)以外,您最想要與之發(fā)生交互的 Data 命名空間中的類(lèi)型是流外 DataClient 類(lèi),它可以從外部源檢索數(shù)據(jù)。如果您想要下載和使用播放器外部的數(shù)據(jù),請(qǐng)引用此程序集。

      SMF 播放器包含穩(wěn)健的 Microsoft.SilverlightMediaFramework.Logging 框架,該框架使用回調(diào)模式。在這種模式下,寫(xiě)入日志記錄基礎(chǔ)結(jié)構(gòu)會(huì)引發(fā)事件。您可以使用日志記錄系統(tǒng)注冊(cè)自己的回調(diào)方法,這些回調(diào)一旦激活,便會(huì)執(zhí)行其他操作,如向 Web 服務(wù)發(fā)送信息或在文本框中顯示信息。如果您想要使用 SMF 的內(nèi)置日志記錄工具,請(qǐng)引用此程序集。

      Microsoft.SilverlightMediaFramework.Player 程序集實(shí)現(xiàn)播放器本身。它還提供播放器所需的大量控件,如洗帶器、音量控件和時(shí)間線標(biāo)記。默認(rèn)的 SMF 播放器界面布局簡(jiǎn)潔、雅致,對(duì)于任何需要 Silverlight 播放器的項(xiàng)目來(lái)說(shuō),都是一個(gè)良好的開(kāi)端。但是,SMF 中定義的所有控件的核心都是控制模板概念,因此每個(gè)控件都可以使用 Expression Blend 或 Visual Studio 等工具作為主題。

      構(gòu)建和引用 SMF

      SMF 作為單個(gè).zip 文件下載,其中包含一個(gè)解決方案文件、每個(gè)輸出庫(kù)對(duì)應(yīng)的項(xiàng)目,以及用于運(yùn)行和驗(yàn)證播放器自身的測(cè)試項(xiàng)目。

      SMF 依賴(lài)于平滑流式處理播放器開(kāi)發(fā)工具包。要引用該工具包,請(qǐng)將平滑流式處理程序集(Microsoft.Web.Media.SmoothStreaming.dll)移到 SMF 項(xiàng)目的 /Lib 文件夾中。

      然后,在 Visual Studio 中打開(kāi) SMF 解決方案并進(jìn)行構(gòu)建,創(chuàng)建所有需要利用該框架的程序集。要確認(rèn)是否一切都如期進(jìn)行,請(qǐng)按 F5 開(kāi)始進(jìn)行調(diào)試。系統(tǒng)將構(gòu)建該解決方案并執(zhí)行 Microsoft.SilverlightMediaFramework.Test.Web 目標(biāo),向您顯示對(duì)“Big Buck Bunny”視頻進(jìn)行流式處理的默認(rèn) SMF 播放器(參見(jiàn)圖 2)。注意,默認(rèn)播放器是否已包含洗帶的位置元素、播放/停止/暫停按鈕、音量控件、全屏控件等。

 

圖 2 SMF 播放器和 Big Buck Bunny視頻

      下一步是創(chuàng)建自己的獨(dú)立 Silverlight 項(xiàng)目并利用其所包含的 SMF 功能。在 Visual Studio 中,單擊“文件”|“新建”|“項(xiàng)目”|“Silverlight 應(yīng)用程序”。調(diào)用 SMFPlayerTest 解決方案,然后單擊“確定”。將彈出一個(gè)模式對(duì)話框,詢(xún)問(wèn)您是否要將 Silverlight 應(yīng)用程序托管到新的網(wǎng)站中。單擊“確定”,您將看到一個(gè)基本的 Silverlight 應(yīng)用程序解決方案,該解決方案由兩個(gè)項(xiàng)目組成,分別是 SMFPlayerTest 和 SMFPlayerTest.Web。

      最后一步是從新建項(xiàng)目中引用平滑流式處理播放器開(kāi)發(fā)工具包和 SMF 程序集。將輸出 SMF 程序集和平滑流式處理播放器開(kāi)發(fā)工具包從 SMF 解決方案的 Debug 文件夾中復(fù)制并粘貼到新項(xiàng)目中(如圖 3 所示)。現(xiàn)在,新解決方案將包含利用 SMF 所需的所有程序集引用。

 

圖 3 引用所需的程序集

      顯示播放器

      要開(kāi)始使用 SMF,請(qǐng)將 SMF 播放器的命名空間添加到 MainPage.xaml 頁(yè)中。這樣做可以確保所有引用都可以正確地解析: 

xmlns:p="clr-namespace:Microsoft.SilverlightMediaFramework.Player;assembly=Microsoft.SilverlightMediaFramework.Player"

NET技術(shù)使用 Silverlight Media Framework 構(gòu)建自定義播放器,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久久久久综合 | 亚洲福利在线观看 | 日韩欧美亚洲 | 精品国产91 | 欧美激情一区二区三区 | 九九综合 | 成人在线视频一区 | 国产黄色大片网站 | 一区二区三区回区在观看免费视频 | 97色免费视频 | 日韩在线观看一区二区三区 | 99热首页| 久久不卡日韩美女 | 国产精品久久久久久久三级 | 精品国产乱码一区二区三 | 免费精品| 国产伦精品一区二区三区视频金莲 | 日本黄色免费大片 | 欧美日韩国产一区二区三区 | 成人中文字幕在线 | 欧美成人激情 | 一区二区精品视频 | 国产成人综合网 | 久久久久久国产免费视网址 | 国产精品久久久久久久7电影 | 在线国产精品一区 | 97伦理电影| 精品毛片在线观看 | 成人免费视频 | 精品一区二区在线观看 | 国产免费va | 一二三区视频 | 久久免费视频在线 | 久久国产精品一区二区三区 | 精久久久 | 午夜精品久久久久久久 | 午夜影院网站 | 91精品久久久久久久久久入口 | 国产亚洲一区二区三区在线观看 | 亚洲精品久久久久久久久久久 | 欧美第一区 |