C# 使用NAudio C TCP应用程序的多客户端发送和接收语音

C# 使用NAudio C TCP应用程序的多客户端发送和接收语音,c#,winforms,C#,Winforms,我正在尝试使用NAudio开发一个语音聊天窗口应用程序,该应用程序具有多个客户端,问题是它不工作,或者如何将录制的语音同时发送到所有客户端并在客户端播放,然后将客户端录制的语音发送回服务器。我还使用NetComm.dll将我的应用程序与文本聊天。非常感谢您的帮助。非常感谢您,但是,不,我认为它不起作用,因为您没有使用WaveStream。请稍后再试,然后解释。我不知道如何使用WaveStream,但我仍在搜索…您熟悉RTP和RTCP之类的东西吗?这些协议是为语音/视频/媒体发送/接收而设计的,根

我正在尝试使用NAudio开发一个语音聊天窗口应用程序,该应用程序具有多个客户端,问题是它不工作,或者如何将录制的语音同时发送到所有客户端并在客户端播放,然后将客户端录制的语音发送回服务器。我还使用NetComm.dll将我的应用程序与文本聊天。非常感谢您的帮助。

非常感谢您,但是,不,我认为它不起作用,因为您没有使用WaveStream。请稍后再试,然后解释。我不知道如何使用WaveStream,但我仍在搜索…您熟悉RTP和RTCP之类的东西吗?这些协议是为语音/视频/媒体发送/接收而设计的,根据相关的时间戳进行同步。感谢您的回复。我对RTP和RTCP有点了解,但我从未使用过。你能给我一些多客户端语音发送和接收的例子吗。
using NAudio.Wave;

namespace NaudioVoiceChat
{
    public partial class Server: Form
    {
        #region Codes for NAudio ------->>>> This is for NAudio
        private BufferedWaveProvider bwp;
        WaveIn wi;
        WaveOut wo;
        public Server()
        {
            InitializeComponent();

            #region Code for Naudio
            wo = new WaveOut();
            wi = new WaveIn();

            wi.DataAvailable += new EventHandler<WaveInEventArgs>(wi_DataAvailable);

            bwp = new BufferedWaveProvider(wi.WaveFormat);
            bwp.DiscardOnBufferOverflow = true;

            wo.Init(bwp);
            wi.StartRecording();
        }

        void wi_DataAvailable(object sender, WaveInEventArgs e)
        {
            bwp.AddSamples(e.Buffer, 0, e.BytesRecorded);
            server.SendData("Client-1", e.Buffer);
        }