开源推荐:基于 .NET 6 的在线音视频聊天项目
第三方依赖介绍
公用依赖
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,因设备效率问题,改动作者源码后重新打包使用。
源库:https://github.com/XamlAnimatedGif/XamlAnimatedGif
问题:https://github.com/XamlAnimatedGif/XamlAnimatedGif/issues/160
后台部署
1、修改DimensionService.Common命名空间下 ClassHelper类
请填写红框内付费服务内容,本程序使用阿里的短信服务和腾讯的TRTC服务,填写内容请见官方说明。
2、数据库
该服务采用sqlserver2019数据库,并使用EF CORE作为主要的ORM框架,首次使用需要迁移数据库。
打开程序包管理控制台,输入Update-Database InitialCreate
该项目提供线上测试服务地址,http://47.96.133.119:5000
WPF端
红框内容需与服务端保持一致
实现的功能
1、登录|注册
2、添加好友
3、音视频在线通话
4、聊天(图片、文字、富文本)
5、截屏(多显示器不同dpi支持)
界面展示
提供的测试账号和程序地址。
不过需要安装NET6桌面运行时
测试用户
1571221{1~9}177,密码统一为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
转自:王_先_生
链接:cnblogs.com/xymfblogs/archive/2022/04/02/16091037.html