Dimension
基於 .NET 6 的在線音視頻聊天項目
WPF和ASP.NET API開發
使用第三方依賴介紹
公用依賴
- log4net 日志記錄。
- SignalR 用於服務器與客戶端的通訊手段,該項目用於好友申請、消息提示、公告、聊天和音視頻通話等一系列通知。
- EntityFrameworkCore 操作數據庫的ORM工具,服務端使用SqlServer,客戶端使用Sqlite。
- Newtonsoft.Json 序列化和反序列化JSON。
服務端
- TencentCloudSDK 操作騰訊雲服務API,該項目用於管理通話房間。
- aliyun-net-sdk-core 操作阿里雲服務API,該項目用於短信服務。
- CHSPinYinConv 獲取中文拼音。
- Portable.BouncyCastle TRTC加密使用。
- SixLabors.ImageSharp 操作圖片,因c#中操作圖片需要微軟的GDI繪圖,但在linux上操作需要mono的libgdiplus庫,處理效果並不理想。
WPF端
- TXLiteAV 操作騰訊雲的TRTC服務,本地設備音視頻推流、獲取房間內其他用戶音視頻數據。
- XamlAnimatedGif 播放GIF,因設備效率問題,改動作者源碼后重新打包使用。
源庫:https://github.com/XamlAnimatedGif/XamlAnimatedGif 問題:https://github.com/XamlAnimatedGif/XamlAnimatedGif/issues/160
后台部署說明
- 修改DimensionService.Common命名空間下 ClassHelper類
請填寫紅框內付費服務內容,本程序使用阿里的短信服務和騰訊的TRTC服務,填寫內容請見官方說明。 - 數據庫
該服務采用sqlserver2019數據庫,並使用EF CORE作為主要的ORM框架,首次使用需要遷移數據庫。
打開程序包管理控制台,輸入Update-Database InitialCreate
該項目提供線上測試服務地址,http://47.96.133.119:5000
WPF端
紅框內容需與服務端保持一致
已實現的功能
1.登錄|注冊
2.添加好友
3.音視頻在線通話
4.聊天(圖片、文字、富文本)
5.截屏(多顯示器不同dpi支持)
界面展示
功能演示
作者太懶,以后再寫!
我還是提供的測試賬號和程序地址吧。
不過需要安裝NET6桌面運行時,這是下載地址:https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.3-windows-x64-installer
測試用戶
1571221{1~9}177,
密碼統一為12345678。
所有用戶登錄信息我都放在程序包里啦,並且都添加了我做為好友。😄
程序包
鏈接:https://pan.baidu.com/s/1aTh_710GpKIIHOHpvVCpBw?pwd=cp4o
提取碼:cp4o
--來自百度網盤超級會員V4的分享
演示視頻
鏈接:https://pan.baidu.com/s/1n-sQZFgO9GEhS80jHLVouA?pwd=85x3
提取碼:85x3
--來自百度網盤超級會員V4的分享