zoukankan      html  css  js  c++  java
  • 使用Microsoft Media Service实现网络影音多媒体应用系列第三篇技术要点

    技术要点解说:

    Media Service的引用

    Imports Microsoft.WindowsMediaServices.Interop

    Imports System.Runtime.InteropServices

    引入以上两个命名空间以后,就可以看到WMSServer这个类,它就是指向Media Service的类。Activator.CreateInstance(tServerType)获取的就是当前开发服务器上的Media Service的实例。

    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

    播放列表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

    播放列表如何在开发中使用:

    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档一样来操作。

    播放列表可以像一个普通媒体档一样作为播放点的节目来源。

    关于播放点的节目来源分类:

    1. 本机普通媒体档,注意必须是.wmv/.wma/.avi这些微软专有媒体格式才可以
    2. 播放列表
    3. 局域网内其他位置具有相应访问权限的档案
    4. 以Http协议从Internet获取远端媒体流
    5. 从远端直播服务器推送过来的直播媒体流
  • 相关阅读:
    Programmatically parsing Transact SQL (TSQL) with the ScriptDom parser
    How to check for a valid Base64 encoded string
    三角函数和反三角函数
    Preventing User Enumeration on Registration Page
    创建HyperV虚拟机安装Win10教程详解
    爆强,看看PS高手怎么变出一个美女来
    用baidu搜索“sb”会出来什么结果?baidu也太狠了吧
    一组Opeth(月亮之城)的现场视频
    为了节约成本,要在西游记团队中栽一个你会裁掉哪位?
    Ruby on rails开发从头来(windows)(四)第一个添删查改例子
  • 原文地址:https://www.cnblogs.com/liucy1898/p/1740039.html
Copyright © 2011-2022 走看看