資源簡介
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個文件信息
- 上一篇:基于WinForm做的簡單超市進貨銷售系統
- 下一篇:C#獲取實時天氣預報
評論
共有 條評論