目录
Dimension
Dimension 是一个使用 .NET 6 开发的在线音视频聊天项目。项目包含了 Client 和服务端,使用了 WPF 和 WebAPI 技术。
已经实现的功能特性:
1.登录|注册
2.添加好友
3.音视频在线通话
4.聊天(图片、文字、富文本)
5.截屏(多显示器不同dpi支持)
项目结构和依赖
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/qian-o/Dimension