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 服务。这会将方法公开为 Browse 和 Search,您可以使用它们来定位内容。DMC 设备(又名数字媒体控制器)是没有播放功能的设备。它只有控制能力,需要一个远程DMS(公开内容)和一个远程DMR(播放内容)来完成媒体体验。PlayTo 就是一个例子。诺基亚 N95/诺基亚 N78 手机或 iPhone 上也有类似的应用程序。Twonky 也有一个基于网络的 DMC。
所有这些设备都有一个共同点:它们理解和使用 UPnP。它们可以用 C+、C#、Java 实现,它们可以在 Windows、Linux 或 Apple 平台上运行,但它们都是基于 UPnP 的。因此,您需要做的就是熟悉 UPnP 标准。我建议从 upnp.org 和 Intel Device Spy(以及其他相关的 Intel UPnP 工具)下载论文并开始使用它们。如果你想编写一个 DMC(或 PlayTo)——这是最简单的事情——你只需要了解一些基本的 UPnP 概念(SOAP、XML、网络发现等)。如果您想在 Win7 平台上编写您的应用程序,您可能需要使用 Win UPnP API 来发现设备并向它们发送命令。或者您可以为此编写自己的 API(这并不难)。我不知道在电话上你可以使用什么 API。然而,您总是可以使用基本的:使用基本的网络 API 通过网络发送 SOAP 消息。对于 DMP/DMR,您将需要播放功能,这可能取决于平台和您拥有的编解码器。
让我知道这是否有助于您入门。谢谢CCazang