使用Microsoft Media Service实现网络影音多媒体应用系列第三篇---技术要点
技術要點解說:
l? 對Media Service的引用
Imports Microsoft.WindowsMediaServices.Interop
Imports System.Runtime.InteropServices
引入以上兩個命名空間以后,就可以看到WMSServer這個類,它就是指向Media Service的類。Activator.CreateInstance(tServerType)獲取的就是當前開發服務器上的Media Service的實例。
?
l? PublishPoint播放點
所謂播放點,就是我們在Media Service上可以看到的點播,直播與廣播節目。以上三種影音服務方式的特點及異同,后面再討論。
我們通過上一步驟獲取了當前服務器上Media Service實例之后,就可以在它的屬性中找到PublishPoints屬性,引用的就是已經存在的播放點集合。
播放點對應的類,包括IWMSPublishingPoint,IWMSPublishingPoint2這兩個,我們通常只需要使用前一個,后一個如何使用,可以參閱SDK說明。
使用如下語法來添加播放點:
PublishingPoints.Add(PubName,WMS_PUBLISHING_POINT_CATEGORY.WMS_PUBLISHING_POINT_ON_DEMAND, MediaPath)
PublishingPoints.Remove()可以移除一個已經存在的播放點
播放點類型的枚舉:
WMS_PUBLISHING_POINT_CATEGORY.WMS_PUBLISHING_POINT_ON_DEMAND
WMS_PUBLISHING_POINT_CATEGORY.WMS_PUBLISHING_POINT_ON_BROADCAST
?
l? 播放列表PlayList概念
所謂播放列表,就是把多個媒體檔或播放列表組合嵌套,以一定的順序,由一個播放點來依次播出。
一個播放列表,實際就是一個XML檔,我們這里介紹的播放列表是.wsx,形式如下所示:
<?wsx version = '1.0'?>
<smil>
??? <media src="c:\media\自然百科\Butterfly.wmv">
??????? <clientdata title="myPlaylist" author="Liucy"/>
??? </media>
</smil>
除了.wsx播放列表以外,還有一種播放列表,就是.asx,這種播放列表是一種客戶端播放列表,形式如下:
<ASX Version = "3.0">
<Entry> <Ref href = "http://server/song1.asf" /> </Entry>
<Entry> <Ref href = "http://server/song2.asf" /> </Entry>
<Entry> <Ref href = "http://server/song3.asf" /> </Entry>
<Entry> <Ref href = "http://server/song4.asf" /> </Entry>
</ASX>
這種播放列表,是隨頁面加載到客戶端以后,由客戶端播放插件或完整播放器來使用。從這一點來看.wsx就是服務器端播放列表。
?
備注:關于播放列表的具體語法,請參閱Media Service SDK
?
l? 播放列表如何在開發中使用:
Imports interop_msxml
必須引入以上命名空間,播放列表相關類,如下:
Dim Playlist As IXMLDOMDocument
Dim ElementSmil As IXMLDOMElement
Dim ElementMedia As IXMLDOMElement
Dim ElementClientData As IXMLDOMElement
Dim ProcInst As IXMLDOMNode
Dim Root As IXMLDOMNode
Dim Node As IXMLDOMNode
?
新建播放列表:
MediaService實例.CreatePlaylist()
播放列表實例創建以后,我們就可以把它作為一個普通的XML檔一樣來操作。
播放列表可以像一個普通媒體檔一樣作為播放點的節目來源。
l? 關于播放點的節目來源分類:
轉載于:https://www.cnblogs.com/liucy1898/archive/2010/05/20/1740039.html
總結
以上是生活随笔為你收集整理的使用Microsoft Media Service实现网络影音多媒体应用系列第三篇---技术要点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python进阶(十七)正则json(上
- 下一篇: (原创)浅谈任意文件下载漏洞的利用