资源简介

C#开发,基于UDP协议,可实现语音和文字聊天,计算机网络课程设计。程序主要由语音采集、语音发送、语音接收、语音播放四个部分组成。通信协议采用UDP;图形化界面;语音采集与播放采用windows API(ACM)接口。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Runtime.InteropServices;
using System.IO;

namespace 点对点语音聊天程序
{
    public partial class Form1 : Form
    {
        private UdpClient udpserver;//UDP服务器
        private Thread udpListenThread;//UDP监听线程
        private IPEndPoint remoteIpAndPort;//远程IP地址和端口
        private delegate void displayMessageDelegate();//委托
        static string path = ““;

        public Form1()
        {
            InitializeComponent();

            btnStopRecord.Enabled = false;
            CreateVoicePath();//创建录音存放的路径
            listView2.Items.Add(“TestVoice.wav“);

            udpListenThread = new Thread(new ThreadStart(udpListen));//创建监听线程
            udpListenThread.IsBackground = true;//设为后台线程
            udpListenThread.Start();//启动监听线程
            
            this.textBoxHostIp.Text = GetAddressIP();// 获取本机的IPv4地址
            //this.textBoxHostIp.Text = GetLocalIP();// 获取本机的IPv4地址
            //this.textBoxHostIp.Text = GetIP();// 获取本机的IPv4地址
        }
        
        //录音
        private void btnRecord_Click(object sender EventArgs e)
        {
            btnRecord.Enabled = false;
            btnStopRecord.Enabled = true;

            btnPlay.Enabled = false;
            btnTestVoice.Enabled = false;

            buttonSend.Enabled = false;
            btnSendVoice.Enabled = false;
            
            label_msg.Text = “正在录音 . . .“;
            this.label_msg.Visible = true;

            mciSendString(“set wave bitpersample 8“ ““ 0 0);
            mciSendString(“set wave samplespersec 20000“ ““ 0 0);
            mciSendString(“set wave channels 2“ ““ 0 0);
            mciSendString(“set wave format tag pcm“ ““ 0 0);
            mciSendString(“open new type WAVEAudio alias movie“ ““ 0 0);

            mciSendString(“record movie“ ““ 0 0);
        }
        //停止录音
        private void btnStopRecord_Click(object sender EventArgs e)
        {
            btnRecord.Enabled = true;
            btnStopRecord.Enabled = false;

            btnPlay.Enabled = true;
            btnTestVoice.Enabled = true;

            buttonSend.Enabled = true;
            btnSendVoice.Enabled = true;
            
            label_msg.Text = “录音结束“;

            mciSendString(“stop movie“ ““ 0 0);

            System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(path);
            int fileNum = dir.GetFiles().Length; // 该目录下的文件数量。。
            fileNum = fileNum + 1;
            String name = “MyVoice“ + Convert.ToString(fileNum) + “.wav“;

            DialogResult r = MessageBox.Show(“即将保存的录音为“ + name “提示“ MessageBoxButtons.YesNo);
            if (r == DialogResult.N

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     47104  2018-08-07 13:37  点对点语音聊天程序\.vs\点对点语音聊天程序\v15\.suo

     文件          0  2018-07-06 14:32  点对点语音聊天程序\.vs\点对点语音聊天程序\v15\Server\sqlite3\db.lock

     文件     598016  2018-08-07 13:37  点对点语音聊天程序\.vs\点对点语音聊天程序\v15\Server\sqlite3\storage.ide

     文件        682  2018-08-07 13:35  点对点语音聊天程序\安装和使用说明.txt

     文件        189  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\App.config

     文件      39152  2018-08-07 11:26  点对点语音聊天程序\点对点语音聊天程序\bin\Debug\voice\TestVoice.wav

     文件      20480  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\bin\Debug\点对点语音聊天程序.exe

     文件        189  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\bin\Debug\点对点语音聊天程序.exe.config

     文件      36352  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\bin\Debug\点对点语音聊天程序.pdb

     文件      19059  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\Form1.cs

     文件      15526  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\Form1.Designer.cs

     文件       5817  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\Form1.resx

     文件       1464  2018-07-06 23:01  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7300  2018-07-06 14:35  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件         42  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.csproj.CoreCompileInputs.cache

     文件       1322  2018-08-01 19:05  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.csproj.FileListAbsolute.txt

     文件       1012  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.csproj.GenerateResource.cache

     文件      13867  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.csprojResolveAssemblyReference.cache

     文件      20480  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.exe

     文件        180  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.Form1.resources

     文件      36352  2018-08-07 13:14  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.pdb

     文件        180  2018-07-06 15:22  点对点语音聊天程序\点对点语音聊天程序\obj\Debug\点对点语音聊天程序.Properties.Resources.resources

     文件        539  2018-08-07 13:13  点对点语音聊天程序\点对点语音聊天程序\Program.cs

     文件       1352  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\Properties\AssemblyInfo.cs

     文件       2867  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\Properties\Resources.Designer.cs

     文件       5612  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\Properties\Resources.resx

     文件       1114  2018-07-06 14:31  点对点语音聊天程序\点对点语音聊天程序\Properties\Settings.Designer.cs

............此处省略20个文件信息

评论

共有 条评论