基於 .net 6 開發的在線音視頻聊天項目

基於 .net 6 開發的在線音視頻聊天項目

基於.net 6開發的在線音視頻聊天項目,客戶端wpf,後端.net api。

最后更新 2022/4/3 下午5:34
王_先_生
预计阅读 4 分钟
分类
.NET
专题
wpf開源項目
标签
.NET C# WPF wpf開源項目 開源

一个基于.NET 6开发的在线音视频聊天项目,客户端使用WPF开发,后端使用.NET Core Web API

一.項目居間

一个基于.NET 6开发的在线音视频聊天项目,客户端使用WPF开发,后端使用.NET Core Web API

仓库地址:https://github.com/qian-o/Dimension

倉庫截圖:

項目代碼結構:

二.使用第三方依賴居間

公用依賴

  1. log4net 日誌記錄。
  2. signalr 用於伺服器與客戶端的通訊手段,該項目用於好友申請、消息提示、公告、聊天和音視頻通話等一系列通知。
  3. entityframeworkcore 操作資料庫的 orm 工具,服務端使用 sqlserver,客戶端使用 sqlite。
  4. newtonsoft.json 序列化和反序列化 json。

服務端

  1. tencentcloudsdk 操作騰訊雲服務 api,該項目用於管理通話房間。
  2. aliyun-net-sdk-core 操作阿里雲服務 api,該項目用於短信服務。
  3. chspinyinconv 獲取中文拼音。
  4. portable.bouncycastle trtc 加密使用。
  5. sixlabors.imagesharp 操作圖片,因 c#中操作圖片需要微軟的 gdi 繪圖,但在 linux 上操作需要 mono 的 libgdiplus 庫,處理效果並不理想。

wpf 端

  1. txliteav 操作騰訊雲的 trtc 服務,本地設備音視頻推流、獲取房間內其他用戶音視頻數據。
  2. xamlanimatedgif 播放 gif,因設備效率問題,改動作者源碼後重新打包使用。

三.項目配置

如果需要正常運行此項目,請了解相關配置。

3.1後端配置:

後端使用 .net core web api 開發,配置如下:

  1. 第三方服務配置

修改DimensionService.Common命名空间下 ClassHelper

请填写红框内付费服务内容,本程序使用阿里的短信服务腾讯的TRTC服务,填写内容请见官方说明。

  1. 資料庫

该服务采用SQL Server 2019数据库,并使用EF CORE作为主要的ORM框架,首次使用需要迁移数据库。

打開程式包管理控制台,輸入

Update-Database InitialCreate

该项目提供线上测试服务地址,http://47.96.133.119:5000 (站长注:目前无法访问此地址)

3.2客戶端配置

客戶端使用 wpf 開發,如下圖:

紅框內容需與服務端保持一致

已實現的功能

  1. 登錄|註冊
  2. 添加好友
  3. 音視頻在線通話
  4. 聊天(圖片、文字、富文本)
  5. 截屏(多顯示器不同 dpi 支持)

客戶端部分截圖:

站長沒有條件,錄製一個登錄動畫(哈哈):

下面是作者 readmd 和博客園的圖片:

四.功能演示

作者太懶,以後再寫!

我還是提供的測試帳號和程式地址吧。

不过需要安装 NET6 桌面运行时,这是下载地址:.NET 6 桌面运行时

測試用戶

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 的分享

七.項目倉庫地址

GitHub 地址:https://github.com/qian-o/Dimension

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2025/5/27

wpf完成一個危險提醒效果

當我們寫的程式發放出去後,用戶是在進行一些危險操作,我們的軟體應該給一些提醒效果,比如邊框邊緣有紅色,類似與高德地圖那樣子的報警提醒效果

继续阅读
同分类 / 同标签 2024/6/20

codewf.eventbus:輕量級事件總線,讓通信更流暢

codewf.eventbus,一款靈活的事件總線庫,實現模塊間解耦通信。支持多種.net項目類型,如wpf、winforms、asp.net core等。採用簡潔設計,輕鬆實現命令的發布與訂閱、請求與響應。通過有序的事件處理,確保事件得到妥善處理。簡化您的代碼,提升系統可維護性。

继续阅读