技术要点解说:

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. 从远端直播服务器推送过来的直播媒体流

转载于:https://www.cnblogs.com/liucy1898/archive/2010/05/20/1740039.html

使用Microsoft Media Service实现网络影音多媒体应用系列第三篇---技术要点相关推荐

  1. 5G网络实现自动驾驶车联网——第三篇:5G网络实现远程SSH,远程桌面

    5G网络实现自动驾驶车联网--第三篇:5G网络实现远程SSH,远程桌面 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正,创业初期, ...

  2. 【云原生Docker系列第三篇】Docker网络模式(在失去的所有人里,我最怀念自己 )

    系列文章目录

  3. Microsoft Media foundation概述(附实例)

    Microsoft Media Foundation是微软新一代多媒体开发平台,用以取代原来的Directshow,为了满足现在多媒体播放的高清晰,高品质,颜色管理,以及充分利用硬件加速等功能而建立的 ...

  4. 网络虚拟化技术要点及实践

    摘 要:云计算网络作为云计算基础架构和服务提供的重要组成部分,需要满足更高的要求.本文首先给出网络的重要性,之后从数据中心网络.跨数据中心网络分析了主要技术要点,同时说明广东联通在实践过程中遇到的问题 ...

  5. 用Windows Media Service 9 实现VOD广播和点播系统(上)

    用Windows Media Service 9 实现VOD广播和点播系统(上) 2006-10-27 15:25 Windows 2003(.net)目前已经推出了多个评估版本供大家试用,而其中最令 ...

  6. Microsoft Media Foundation官方文档翻译(一)《Microsoft Media Foundation》

    官方英文文档链接:https://docs.microsoft.com/en-us/windows/desktop/medfound/microsoft-media-foundation-sdk 基于 ...

  7. 网络操作系统项目教程----Windows server 2003篇----Media服务配置

    流媒体服务器与配置 简单描述:流媒体服务器可以使人们能够方便搜索和观看大量的视频资源 基于 Windows Media Microsoft Windows Media Windows Media Se ...

  8. Android开发之使用Web Service进行网络编程

    使用Web Service进行网络编程 Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都有限,在Android系统上开发.运行一些单用户.小型应用是 ...

  9. Microsoft Media Foundation官方文档翻译(20)《Stream Subtype GUIDs》《...

    官方英文文档链接:https://docs.microsoft.com/en-us/windows/desktop/medfound/stream-subtype-guids 基于05/31/2018 ...

最新文章

  1. iOS后台下载功能(收集)
  2. 最快最简单的排序(之二)——桶排序(简化版)
  3. k8s master节点参与调度(去除NoSchedule污点)
  4. PCB板自动识别检测
  5. 电商产品设计:购物车管理
  6. Niagara Networks网络安全出口解决方案
  7. 实验四:AC与AP间VLAN配置实验
  8. kuka机器人程序是c语言吗,KUKA机器人示教器编程问题讲解——KUKA机器人
  9. 如何用c语言统计字符个数,C语言统计字符个数代码分享
  10. 算法提高——珠心算测验
  11. 【虚拟机】虚拟机vmware设置全屏(直接设置)
  12. stm32寄存器版学习笔记06 输入捕获(ETR脉冲计数)
  13. # C语言使用树设计族谱
  14. 头条App项目测试实战(二)App手工测试流程以及需求分析与评审
  15. 什么软件可以代替sc防火墙_蜂蜜和糖稀有什么区别?糖稀可以用蜂蜜代替么?...
  16. excel 公式 TEXT/INDIRECT/ROW(XX)
  17. 模拟退火的一些个人见解
  18. DCDC基础(8)-- 同步BUCK芯片的电性能参数解读二
  19. 搜狗拼音带来的俩个烦人的弹窗解决方法
  20. html按钮按下效果_Animate/FLASH如何为按钮添加声音(无代码)

热门文章

  1. java什么时候创建进程,Java创建进程
  2. python 深copy_python中的深copy和浅copy
  3. 使用java开发应用程序_使用Java中的插件支持开发应用程序
  4. joptionpane java_Java JOptionPane
  5. boot lib分离 spring_SpringBoot打包分离依赖jar和资源文件
  6. java swing 模拟发牌_用java设计一个发牌程序
  7. 二位数组的随机生成,遍历,求和,反转。和两个变量的^反转 源码
  8. Nginx 配置UDP负载均衡
  9. Redis集群添加节点
  10. C语言多个变量运算存储过程,postgresql函数中的赋值运算和postgresql函数存储过程实现数据批量插入...