如何快速在 C# 中接入 Windows RTC Engine,以实现基本音视频通话功能。
环境准备
操作系统:Windows 7 及以上版本。
开发环境:Visual Studio 2019 及以上版本,推荐使用 Visual Studio 2022。
开发工具包:Visual Studio 选中 .NET 桌面开发工具包。
接入指引
步骤 1. 导入 SDK
1. 打开 Visual Studio,新建一个 Windows Forms App (.NET Framework) 项目。在创建项目的向导中,按照提示完成项目创建,单击创建。

2. 下载 Windows C# SDK,将解压后的 SDK 文件拷贝到项目 .sln 文件所在目录下。

步骤 2. 配置项目
1. 添加引用:
1.1 在解决方案资源管理器中,右键点击项目名称,选择添加 > 引用。

1.2 在弹出的引用管理器窗口中,单击浏览。

1.3 找到解压后 SDK 文件夹中的
.dll
文件,选择需要的程序集进行引用。

2. 复制 DLL 文件:
为了确保程序运行时能够找到所需的 DLL 文件,在项目属性的生成事件 > 后期生成事件命令行中添加以下命令:
copy /Y "$(ProjectDir)..\\SDK\\CSharp\\!Platform!\\lib\\*.dll" "$(ProjectDir)$(OutDir)"
3. 打印 SDK 版本号:
在
Form1.cs
文件中引入命名空间:using ManageLiteAV;
在
Form1
类的构造函数或者 Load
事件中添加以下代码:private void Form1_Load(object sender, EventArgs e){ITRTCCloud trtcCloud = ITRTCCloud.getTRTCShareInstance();string version = trtcCloud.getSDKVersion();MessageBox.Show($"SDK version: {version}");}
步骤 3. 创建 TRTC 实例
在
Form1.cs
文件中实现 ITRTCCloudCallback
接口,并声明 TRTCCloud
成员变量:注意:
目前 ITRTCCloudCallback 的所有回调都得实现不然会出现编译报错
using System.Windows.Forms;using ManageLiteAV;public partial class Form1 : Form, ITRTCCloudCallback{private ITRTCCloud trtcCloud;public Form1(){InitializeComponent();trtcCloud = ITRTCCloud.getTRTCShareInstance();trtcCloud.addCallback(this);}// 实现接口方法public void onError(TXLiteAVError errCode, string errMsg, object extraInfo){// 监听 "onError" 事件并对相应信息进行打印MessageBox.Show($"Error: {errCode}, {errMsg}");}public void onWarning(TXLiteAVWarning warningCode, string warningMsg, object extraInfo){// 监听 "onWarning" 事件并对相应信息进行打印MessageBox.Show($"Warning: {warningCode}, {warningMsg}");}public void onEnterRoom(int result){// 监听 "onEnterRoom" 事件并对相应信息进行打印if (result > 0){MessageBox.Show("Enter room successfully");}else{MessageBox.Show("Enter room failed");}}public void onExitRoom(int reason){// 监听 "onExitRoom" 事件并对相应信息进行打印if (reason == 0){MessageBox.Show("Exit current room by calling the 'exitRoom' api of sdk");}else if (reason == 1){MessageBox.Show("Kicked out of the current room by server through the restful api");}else if (reason == 2){MessageBox.Show("The current room is dissolved by server through the restful api");}}}
步骤 4. 进入房间
//在 `Form1.cs` 文件中添加一个按钮,并为按钮的 `Click` 事件添加以下代码:private void button1_Click(object sender, EventArgs e){// 将以下 trtcParams 参数修改为自己的参数TRTCParams trtcParams = new TRTCParams();trtcParams.sdkAppId = 1400000123;trtcParams.userId = "denny";trtcParams.roomId = 123321;trtcParams.userSig = "xxx";// 对于多人视频通话场景,推荐使用 TRTC_APP_SCENE_LIVEtrtcCloud.enterRoom(trtcParams, TRTCAppScene.TRTC_APP_SCENE_LIVE);}
步骤 5. 打开/关闭摄像头
1. 在工具箱中,拖动一个
PictureBox
控件到窗体上。2. 为窗体添加一个
Button
控件,双击该按钮,在生成的Click
事件处理方法中添加以下代码:private void button2_Click(object sender, EventArgs e){// 设置本地预览渲染参数TRTCRenderParams renderParams = new TRTCRenderParams();renderParams.mirrorType = TRTCVideoMirrorType.TRTC_VIDEO_MIRROR_TYPE_ENABLE;renderParams.fillMode = TRTCVideoFillMode.TRTC_VIDEO_FILL_MODE_FILL;// 设置本地预览视图trtcCloud.setLocalRenderParams(ref renderParams);trtcCloud.startLocalPreview(pictureBox1.Handle);}
以上文档介绍了如何在 C# 项目中接入 Windows RTC Engine,实现基本的音视频通话功能。在实际使用时,请根据自己的项目需求进行调整。