2009-11-05 84 views
6

对于一个学期的项目,我有一个想法,即实现Windows 7的播放到基础设施,以便将手机用作终端(播放器)或从将手机连接到Windows 7机器。任何人都有使用此API的经验吗?这是否能够在几周内完成(原型,只是概念证明,而不是终端用户准备就绪)还是对于这个范围的项目来说太多了?注意:我不是在寻找代码示例,只是评估此项目的可行性。如果你有来自MS的任何文档或者其他的文档,那将是非常棒的,但不是问题的关键。我发现Windows 7 Play-to功能基于DLNA,任何支持DLNA的设备(我认为)都可以用作Play-To上下文菜单的目的地。但是,我很难在DLNA上找到任何类型的文档。我想知道你是否需要成为DNLA的成员才能真正获得规范?另外,我知道DLNA是建立在UPnP基础之上的,它不会完全按照我想要的做,但它会朝着正确的方向迈进,因此,修改我的问题是否有人知道任何开源C/C++或Java(首选)库可以帮助我实现UPnP或DLNA?在移动设备上实现DLNA/UPnP(Win7播放)

谢谢! Chris

回答

29

PlayTo是所有基于UPnP的。 DLNA只是UPnP之上的一个标准化层。因此,任何UPnP设备都可以与DLNA设备进行通话,以便与Win7设备通信。 DLNA指定4种类型的设备:DMP,DMR,DMC和DMS。 DMP(又名数字媒体播放器)是一种能够查找和浏览远程服务器(DMS =数字媒体服务器)并消耗内容(或拉取内容)的设备。 PS3是DMP的完美例子。 DMP在网络上无法发现,它只是发现并使用内容。由于它无法发现,因此无法使用PlayTo进行控制。 DMR(又名数字媒体渲染)是一种可以接受从网络接收到的命令的设备。它是可发现的,暴露了一个UPnP描述文档和UPnP服务,如AVTransport和ConnectionManager或RenderingControl。 PlayTo设备能够在网络上找到该设备,并且可以将内容推送到该设备。它可以通过AVTransport服务和RenderingControl服务控制播放。 今天的许多设备都是100%DMP(不能通过PlayTo控制)或DMP-DMR。这意味着他们都会公开AVTransport和RenderingControl服务,但也有一个用户可以用来从服务器中获取媒体的GUI。 DMS(又名数字媒体服务器)是一种媒体服务器设备。您可以将媒体内容存储在那里,并且可以将其从其他网络设备中使用。这些通常是NAS设备,但也可能是移动电话,Win7/Vista计算机等。DMS可在网络上发现并将UPnP服务公开为ContentDirectory服务。这暴露了浏览和搜索的方法,您可以使用它来定位内容。 DMC设备(又名数字媒体控制器)是一种没有播放功能的设备。它只有控制功能,它需要一个远程DMS(显示内容)和一个远程DMR(播放内容)来完成媒体体验。 PlayTo就是一个例子。诺基亚N95 /诺基亚N78手机或iPhone上也有类似的应用程序。 Twonky也有一个基于网络的DMC。

所有这些设备都有一个共同点:他们理解并说UPnP。它们可以用C +,C#,Java实现,它们可以运行在Windows,Linux或Apple平台上,但它们都是基于UPnP的。所以你所需要做的就是熟悉UPnP标准。我建议从upnp.org和Intel Device Spy(以及其他相关的英特尔UPnP工具)下载文件并开始播放。 如果你想编写一个DMC(或PlayTo) - 这是最容易做的事情 - 你需要了解的仅仅是一些基本的UPnP概念(SOAP,XML,网络发现等)。如果您想在Win7平台上编写应用程序,您可能需要使用Win UPnP API来发现设备并向它们发送命令。或者你可以编写自己的API来做到这一点(这并不困难)。我不知道你可以使用什么API。但是,您可以始终使用基本的方式:使用基本网络API通过电缆发送SOAP消息。 对于DMP/DMR,您将需要播放功能,这可能取决于平台以及您在那里的编解码器。

让我知道这是否有助于你开始。 Thx CCazang

+0

这是完美的,谢谢你的详细解答。 – 2009-11-10 16:44:23

+0

一个非常丰富的概述,再次感谢。 – 2011-07-13 18:40:45

+0

感谢男人真的很棒的一篇文章。 – 2011-10-25 05:29:53

相关问题