C#DLNA/UPNP媒体播放

C#DLNA/UPNP媒体播放,c#,media,upnp,dlna,C#,Media,Upnp,Dlna,我正在尝试将特定媒体流传输到dlna/upnp兼容设备。我已经了解了如何使用c#向设备发送命令(例如播放、暂停、停止等) 因此,我可以在设备上播放媒体。但是,我不清楚如何告诉设备播放什么媒体。这有什么命令吗 我看到了“SetAVTransportURI”命令,但这需要一个uri,我只想从网络上的共享目录播放一个视频文件。如何告诉设备播放哪种媒体?在Windows上查看wikipedia条目中的内容。 您的共享网络目录是否也提供DLNA/UPNP服务? 编辑:如果没有UPNP服务,您可以查看有关U

我正在尝试将特定媒体流传输到dlna/upnp兼容设备。我已经了解了如何使用c#向设备发送命令(例如播放、暂停、停止等)

因此,我可以在设备上播放媒体。但是,我不清楚如何告诉设备播放什么媒体。这有什么命令吗


我看到了“SetAVTransportURI”命令,但这需要一个uri,我只想从网络上的共享目录播放一个视频文件。如何告诉设备播放哪种媒体?

在Windows上查看wikipedia条目中的内容。
您的共享网络目录是否也提供DLNA/UPNP服务?
编辑:如果没有UPNP服务,您可以查看有关UPNP服务器功能的问题。

根据UPNP MediaRenderer规范(它是公共的,请查阅),AVTransport服务预计只针对内部协议使用URI方案
文件:
,这在很大程度上是未指定的和特定于设备的(如规范中所述)。换句话说,您可以使用
文件
设置AVTransportUri
仅用于“CD上的第一首曲目”或“调谐器站X”之类的内容。如果您想要远程连接,必须使用协议httpget,即urischeme
http:
。设置一个简单的Web服务器来发布您的共享目录应该可以做到这一点


对于UPnP的这一独立部分(即设置单个,已经已知媒体URI,不浏览不使用元数据如视频名称等),您不需要您的服务器知道任何特殊的DLNA/UPnP服务。如果您希望获得比没有更好的用户体验,请查找一些成熟的UPnP MediaServer。也有一些是用C#编写的。

我在uri中使用了file://标记,即设备的响应:“Resource not found”,但是,当在任何internet浏览器的地址栏中键入该文件时,都可以访问该文件。您可以共享检测可用DLNA设备的代码吗