開(kāi)源推薦:基于 .NET 6 的在線音視頻聊天項(xiàng)目
第三方依賴介紹
公用依賴
1、log4net 日志記錄。
2、SignalR 用于服務(wù)器與客戶端的通訊手段,該項(xiàng)目用于好友申請(qǐng)、消息提示、公告、聊天和音視頻通話等一系列通知。
3、EntityFrameworkCore 操作數(shù)據(jù)庫(kù)的ORM工具,服務(wù)端使用SqlServer,客戶端使用Sqlite。
4、Newtonsoft.Json 序列化和反序列化JSON。
服務(wù)端
1、TencentCloudSDK 操作騰訊云服務(wù)API,該項(xiàng)目用于管理通話房間。
2、aliyun-net-sdk-core 操作阿里云服務(wù)API,該項(xiàng)目用于短信服務(wù)。
3、CHSPinYinConv 獲取中文拼音。
4、Portable.BouncyCastle TRTC加密使用。
5、SixLabors.ImageSharp 操作圖片,因c#中操作圖片需要微軟的GDI繪圖,但在linux上操作需要mono的libgdiplus庫(kù),處理效果并不理想。
WPF端
1、TXLiteAV 操作騰訊云的TRTC服務(wù),本地設(shè)備音視頻推流、獲取房間內(nèi)其他用戶音視頻數(shù)據(jù)。
2、XamlAnimatedGif 播放GIF,因設(shè)備效率問(wèn)題,改動(dòng)作者源碼后重新打包使用。
源庫(kù):https://github.com/XamlAnimatedGif/XamlAnimatedGif
問(wèn)題:https://github.com/XamlAnimatedGif/XamlAnimatedGif/issues/160
后臺(tái)部署
1、修改DimensionService.Common命名空間下 ClassHelper類

請(qǐng)?zhí)顚懠t框內(nèi)付費(fèi)服務(wù)內(nèi)容,本程序使用阿里的短信服務(wù)和騰訊的TRTC服務(wù),填寫內(nèi)容請(qǐng)見(jiàn)官方說(shuō)明。
2、數(shù)據(jù)庫(kù)
該服務(wù)采用sqlserver2019數(shù)據(jù)庫(kù),并使用EF CORE作為主要的ORM框架,首次使用需要遷移數(shù)據(jù)庫(kù)。
打開(kāi)程序包管理控制臺(tái),輸入U(xiǎn)pdate-Database InitialCreate

該項(xiàng)目提供線上測(cè)試服務(wù)地址,http://47.96.133.119:5000
WPF端

紅框內(nèi)容需與服務(wù)端保持一致
實(shí)現(xiàn)的功能
1、登錄|注冊(cè)
2、添加好友
3、音視頻在線通話
4、聊天(圖片、文字、富文本)
5、截屏(多顯示器不同dpi支持)
界面展示








提供的測(cè)試賬號(hào)和程序地址。
不過(guò)需要安裝NET6桌面運(yùn)行時(shí)
測(cè)試用戶
1571221{1~9}177,密碼統(tǒng)一為12345678。
所有用戶登錄信息我都放在程序包里啦,并且都添加了我做為好友。

程序包
https://pan.baidu.com/s/1aTh_710GpKIIHOHpvVCpBw?pwd=cp4o
提取碼:cp4o
演示視頻
https://pan.baidu.com/s/1n-sQZFgO9GEhS80jHLVouA?pwd=85x3
提取碼:85x3
GitHub:https://github.com/qian-o/Dimension
轉(zhuǎn)自:王_先_生
鏈接:cnblogs.com/xymfblogs/archive/2022/04/02/16091037.html
