C#基于UDP实现的P2P语音聊天工具

2019-12-30 10:57:56王冬梅

上面的代码实现了录音,并且写入文件p2psound_A.wav

C#基于UDP实现的P2P语音聊天工具

语音发送

获取到语音后我们要把语音发送出去

当我们录好音后点击发送,这部分相关代码是

 

 
  1. MsgTranslator tran = null;   ublic Form1()  
  2. {   InitializeComponent();  
  3. LoadWasapiDevicesCombo();//显示音频设备    
  4. Config cfg = SeiClient.GetDefaultConfig();   cfg.Port = 7777;  
  5. UDPThread udp = new UDPThread(cfg);   tran = new MsgTranslator(udp, cfg);  
  6. tran.MessageReceived += tran_MessageReceived;   tran.Debuged += new EventHandler<DebugEventArgs>(tran_Debuged);  
  7. }   private void btn_sendsound_Click(object sender, EventArgs e)  
  8. {   if (t_ip.Text == "")  
  9. {   MessageBox.Show("请输入ip");  
  10. return;   }  
  11. if (t_port.Text == "")   {  
  12. MessageBox.Show("请输入端口号");   return;  
  13. }   string ip = t_ip.Text;  
  14. int port = int.Parse(t_port.Text);   string nick = t_nick.Text;  
  15. string msg = "语音消息";    
  16. IPEndPoint remote = new IPEndPoint(IPAddress.Parse(ip), port);   Msg m = new Msg(remote, "zz", nick, Commands.SendMsg, msg, "Come From A");  
  17. m.IsRequireReceive = true;   m.ExtendMessageBytes = FileContent(soundfile);  
  18. m.PackageNo = Msg.GetRandomNumber();   m.Type = Consts.MESSAGE_BINARY;  
  19. tran.Send(m);   }  
  20. private byte[] FileContent(string fileName)   {  
  21. FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);   try