我想知道是否有一种方法可以通过局域网流式传输声音。我可以让客户端应用程序连接到服务器应用程序,然后从中接收声音流。我相信这是可以实现的,只是不确定从哪里开始。有什么建议吗?我打算使用c#完成这个项目。
我并不是要求任何人为我编写代码,只是想听听你们可能知道的一些想法或技巧,或者参考或建议。
我并不是要求任何人为我编写代码,只是想听听你们可能知道的一些想法或技巧,或者参考或建议。
另一种选择是拥有自己的Shoutcast服务器,并在使用ShoutcastStream类捕获音频后,在客户端播放该音频。
虽然不是C#,但这是否是一个选项? Netcat、mpg123和rawplay可以创建一个解决方案。本文的作者从一台机器向另一台机器提供音频。
$(audioclient1):~$ nc -l -p 2345 | rawplay
$(audioserver):~$ mpg123 -s *.mp3 | nc (audioclient1) 2345
我相信你可以在客户端使用Windows媒体播放器。
我们在其中一个应用程序中使用winmm.dll来播放一些音乐。由于媒体播放器支持流媒体,你可能只需要稍微调整一下就能解决你的问题。
这不是一个C#解决方案,但可能有助于决定使用什么。http://pulseaudio.org/现在在一些Linux发行版中使用,并且您也可以在Windows上安装它。
来自http://pulseaudio.org/wiki/WikiStart#Whatisit
PulseAudio是用于POSIX和Win32系统的音频服务器。音频服务器基本上是您的音频应用程序的代理。它允许您在应用程序和硬件之间传递声音数据时执行高级操作。像将音频传输到另一台机器,更改采样格式或通道计数以及将几个声音混合成一个都可以通过音频服务器轻松实现。
PulseAudio已在Linux、Solaris、FreeBSD、NetBSD、Windows 2000和Windows XP上进行了测试。它还应该在所有其他POSIX和Windows系统上运行,但可能需要新的后端来处理它们的声音系统。
根据您的情况,这可能是一个不错的选择...