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。
所有用户登录信息我都放在程序包里啦,并且都添加了我做为好友。
请发表评论