我目前正在编写一个应用程序,允许用户安装某种形式的应用程序(可能是Windows服务),该应用程序将在其PC上打开一个端口,并在硬盘上给出特定目的地,然后将能够流式传输mp3文件.
然后,我将有另一个应用程序连接到服务器(作为用户的PC),并能够通过连接到该PC(远程)来给出端口数据浏览托管数据,并将mp3文件从服务器流式传输到应用程序
我在网上找到了一些教程,但其中大部分是关于C#中的文件服务器,他们下载允许你下载整个文件.我想要的是流式播放一个mp3文件,以便在下载一定数量的字节时开始播放(即,当它被缓冲时)
我该如何完成这项任务?我需要知道具体是怎么写的这个应用程序(我会变成一个Windows服务以后)将侦听一个指定端口的流文件上,这样我就可以用类似的东西访问文件:http://
和希望能够在WPF中传输该文件MediaPlayer
.
[更新]
我下面这个教程关于建立一个文件服务器和从服务器到客户端发送的文件.我必须做些什么吗?
[更新]
目前正在阅读这篇文章:使用C#从流中播放音频,我认为看起来如何播放流媒体文件非常有前景; 但我仍然不知道如何实际从服务器流式传输文件.
流媒体和下载之间没有有效的区别.他们是一回事.任何差异都纯粹是语义上的.
如果您愿意,可以从任何Web服务器"下载"MP3并在下载时开始播放.它只需要缓冲一些数据并立即将其发送到解码和回放例程.
类似地,甚至可以下载所谓的"流"服务器.您只需要保存通过线路发送到文件的字节.
"流式"应用程序只是不是为将文件保存到磁盘而设计的应用程序.
编辑:
有一个例外.两个真的:
首先,如果您正在流式传输"实时"音频,例如无线电或其他不需要100%可靠性的类型,那么它们将使用UDP进行流式传输.如果你愿意,这仍然可以保存,但它比面向流的更加面向数据包.
第二种是使用加密时,在这种情况下你仍然可以保存文件,但如果没有加密算法和密钥,它将毫无用处.