欢迎来到 Dotnet 工具箱!在这里,你可以发现各种令人惊喜的开源项目!
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,因设备效率问题,改动作者源码后重新打包使用。
截图预览
![null 6f946130ec128e7516ee562faccb825a.png](https://i-blog.csdnimg.cn/blog_migrate/4318a867ecff501e28145984b7b5c53c.png)
![null 7b8da6f6a4ba72a4afb160d8b732bbe3.png](https://i-blog.csdnimg.cn/blog_migrate/c5581d0314129c03860227e47ff36161.png)
![null 5c60aad9ecd4ff155a0535a3a975720a.png](https://i-blog.csdnimg.cn/blog_migrate/7e91914f088d2b4fba565d6239582a5a.png)
![null 7b95c20ee998dffc4c365ea9f0feed62.png](https://i-blog.csdnimg.cn/blog_migrate/e3cdb54aa6273c262a96dd9ab8f70547.png)
![null 035a6ad267d79b60abdea55253adfcf8.png](https://i-blog.csdnimg.cn/blog_migrate/0e6226ee0096bdf4b9a7a3ab5dd88c98.png)
![null 254ed8f24754b3d8326813680c50e5f7.png](https://i-blog.csdnimg.cn/blog_migrate/350431d1fb8c89bfacdb4ae402bb7794.png)
往期推荐:
CsGo - C#并发流程控制框架,单线程调度每秒100万次以上
项目地址
https://github.com/qian-o/Dimension
分享
点收藏
点点赞
点在看