Online audio and video chat project developed based on. NET 6

Online audio and video chat project developed based on. NET 6

An online audio and video chat project developed based on. NET 6, client-side WPF, and back-end. NET API.

最后更新 4/3/2022 5:34 PM
王_先_生
预计阅读 4 分钟
分类
.NET
专题
WPF Open Source Project
标签
.NET C# WPF WPF Open Source Project open source

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

I. project introduction

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

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

Warehouse screenshot:

Project code structure:

II. Using third-party reliance introductions

** Public dependence **

  1. log4 net logging.
  2. SignalR is used for communication between servers and clients. This project is used for a series of notifications such as friend applications, message reminders, announcements, chats, and audio and video calls.
  3. EntityFrameworkCore operates the ORM tool for the database. The server uses SqlServer and the client uses Sqlite.
  4. Newtonsoft.Json serializes and deserializes JSON.

** Server **

  1. The Tencent CloudSDK operates the Tencent Cloud service API, and this project is used to manage call rooms.
  2. aliyun-net-sdk-core operates the Alibaba Cloud service API, and this project is used for SMS services.
  3. CHSPinYinConv obtains Chinese pinyin.
  4. Portable.BouncyCastle TRTC cryptographic use.
  5. SixLabors.ImageSharp operates pictures. Because operating pictures in c#requires Microsoft's GDI drawing, operating on linux requires mono's libgdiplus library, and the processing effect is not ideal.

**WPF end **

  1. TXLiteAV operates Tencent Cloud's TRTC service to push audio and video streams from local devices and obtain audio and video data from other users in the room.
  2. XamlAnimatedGif played GIF. Due to equipment efficiency issues, the author's source code was changed and repackaged.

III. project configuration

If you need to run this project properly, please understand the relevant configuration.

3.1 Back-end configuration:

The backend is developed using the. NET Core Web API, and the configuration is as follows:

  1. Third-party service configuration

修改DimensionService.Common命名空间下 ClassHelper

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

  1. database

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

Open the package management console and enter

Update-Database InitialCreate

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

3.2 client configuration

The client is developed using WPF, as shown in the following figure:

The content of the red box must be consistent with the server

Functions implemented

  1. login| registered
  2. add friends
  3. Audio and video online calls
  4. Chat (pictures, text, rich text)
  5. Screenshots (multiple monitors with different dpi support)

Part of the client screenshot:

The webmaster has no conditions and records a login animation (haha):

Here are pictures of the author readmd and the blog park:

IV. function demonstration

The author is too lazy, write later!

I will still provide the test account number and program address.

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

test user

1571221{1 ~ 9}177,

The password is unified to 12345678.

I put all user login information in the program package and add me as a friend.😄

v. package

链接:https://pan.baidu.com/s/1aTh_710GpKIIHOHpvVCpBw?pwd=cp4o

Extraction code: cp4o

-Sharing from Baidu Netdisk Super Member V4

vi. demo video

链接:https://pan.baidu.com/s/1n-sQZFgO9GEhS80jHLVouA?pwd=85x3

Extraction code: 85x3

-Sharing from Baidu Netdisk Super Member V4

VII. Project warehouse address

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

Keep Exploring

延伸阅读

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

WPF achieves a danger warning effect

When the program we write is released, the user is doing some dangerous operations. Our software should give some reminder effects, such as red on the edge of the border, similar to the alarm reminder effect like Gaode Map

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

CodeWF.EventBus: Lightweight event bus for smoother communication

CodeWF.EventBus, a flexible event bus library that enables decoupling communication between modules. Supports multiple. NET project types, such as WPF, WinForms, ASP.NET Core, etc. Adopt concise design to easily implement command publishing and subscribing, request and response. Ensure that incidents are properly handled through orderly incident handling. Streamline your code and improve system maintainability.

继续阅读