Dimension 基於 .NET 6 的線上音視頻聊天項目 WPF和ASP.NET API開發 使用第三方依賴介紹 公用依賴 log4net 日誌記錄。 SignalR 用於伺服器與客戶端的通訊手段,該項目用於好友申請、消息提示、公告、聊天和音視頻通話等一系列通知。 EntityFramework ...
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。
所有用戶登錄信息我都放在程式包里啦,並且都添加了我做為好友。