✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨
这里有:
- 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!
- 趣味开发日常:代码背后的脑洞故事、工具测评,让技术圈不再枯燥~
- 独家资源分享:开源项目、学习资料包,助你打怪升级快人一步!
👉点击直达→盹猫猫的个人小站👈
🌟 来逛逛吧,说不定能挖到你正在找的技术宝藏哦~
目录
前言
环境准备
创建应用
Pom依赖
代码步骤
服务端
application.yml
配置类
参数接口
网页端
依赖
功能代码
总结
欢迎来到 盹猫(>^ω^<)的博客
本篇文章主要介绍了
[SpringBoot从0-1集成腾讯音视频通话]
❤博主广交技术好友,喜欢文章的可以关注一下❤
前言
音视频通话功能是开发过程中经常用到的功能,可以被广泛用于需要即时通信的场景。但自己去实现该功能通常有很多困难,包括搭建语音通信系统、视频服务,并且需要保证服务器有足够带宽去进行视频数据传输,而且很难保证稳定性。
这时实现该功能通常的方式是集成第三方的音视频SDK去实现该功能,比较常用的是腾讯云的音视频功能。
本篇文章就是记录如何使用SpringBoot结合腾讯云的音视频SDK实现即时音视频的通话。
环境准备
创建应用
在腾讯云的控制台搜索实时音视频,创建一个应用,获取其中的SDKAppID和SDK密钥。这两个参数会在服务端和网页端用到。
Pom依赖(SpringBoot)
在Pom文件中需要加入下面的音视频接口依赖,方便进行接口调用:
<dependency> <groupId>com.github.tencentyun</groupId> <artifactId>tls-sig-api-v2</artifactId> <version>2.0</version> </dependency>代码步骤
服务端
application.yml
trtc: appId: 创建的应用AppId(这里是1600119797) key: 创建的应用密钥在application.yml中需要添加创建应用时获取的AppID和密钥,方便在后续的类中进行注入。
配置类
/** * @author nodcat * @version 1.0 * @since 2025/12/26 下午1:39 */ @Configuration public class TencentRtcConfig { //APPID @Value("${trtc.appId}") private Long appId; //密钥KEY @Value("${trtc.key}") private String key; //腾讯音视频接口客户端 @Bean public TLSSigAPIv2 tlsSigAPIv2(){ return new TLSSigAPIv2(appId, key); } public Long getAppId() { return appId; } }在TencentRtcConfig的配置类中注入我们需要的AppId和密钥,并且通过TLSSigAPIv2创建一个对象,并交由Spring管理。
响应封装
创建一个返回消息封装类TrtcDTO,封装前端加入音视频通话需要用到的参数,其中包括应用ID、用户ID、签名、房间ID,代码如下:
@Data @Builder public class TrtcDTO { /** * 应用ID */ private Long appId; /** * 用户ID */ private Long userId; /** * 签名 */ private String userSig; /** * 房间ID */ private Long roomId; public Long getRoomId() { return 10001L; } }注意:这里是房间ID默认10001,可根据实际需要配合数据库创建多个房间,并根据用户实际需要加入不同的房间。
参数接口
创建一个用于前端页面调用接口获取加入房间的必要参数的接口,其中userSig(签名)需要使用户ID和超时时间进行远程调用生成,代码如下:
/** * @author nodcat * @version 1.0 * @since 2025/12/26 下午2:05 */ @RestController @Api(tags = "视频通话") @RequestMapping("/api/rtc") public class DashTRtcController { @Autowired TLSSigAPIv2 tlsSigAPIv2; @Autowired TencentRtcConfig tencentRtcConfig; @GetMapping("/config") @ApiOperation("获取视频通话参数") public Result<TrtcDTO> getRtcConfig(){ //获取请求当前登录用户的用户ID Long id = SecurityUser.getUser().getId(); //这里设置UserSig的有效时间是1小时 String userSig = tlsSigAPIv2.genUserSig(id.toString(), 3600); //封装参数返回 return new Result<TrtcDTO>().ok( TrtcDTO.builder().appId(tencentRtcConfig.getAppId()) .userSig(userSig) .userId(id).build() ); } }返回的格式如下:
{ "code": 200, "msg": "success", "data": { "appId": 1600119797, "userId": 1, "userSig": "实际生成的签名", "roomId": 10001 } }测试页面
这边创建了一个测试页面用于测试音视频通话功能页面,已经发布在链接(视频通话网址),可以填入相关参数进行测试通话功能。
在公众号【盹猫技术汇】输入【视频通话】获取全部源码。
总结
通过集成腾讯音视频(TRTC)服务可以很快捷的实现音视频通话功能,减少独自实现音视频服务的困难。经过测试,音视频通话效果还是非常不错的,赶紧去试试吧!
上面就是所有配置信息了,如果内容对你有帮助,麻烦留一个赞👍和收藏⭐支持一下!
如果你对区块链内容感兴趣可以查看我的专栏:小试牛刀-区块链
感谢您的关注和收藏!!!!!!