本文主要介绍如何快速地将腾讯云
准备工作
在集成小程序 SDK 前,请确保您已完成以下步骤,具体操作请参见 跑通Demo(小程序)。
- 创建了腾讯云实时音视频应用,购买了相应的套餐,并获取到 SDKAppID 和密钥信息。
- 开通小程序类目与推拉流标签权限。
- 小程序服务器域名配置。
环境要求
微信 App iOS 最低版本要求:7.0.9
微信 App Android 最低版本要求:7.0.8
小程序基础库最低版本要求:2.10.0
由于微信开发者工具不支持原生组件(即
下载组件源码
您可以直接从 Github 下载 SDK 源码压缩包,也可以通过 git clone 下载源码:
$ cd YOUR_PATH
$ git clone https://github.com/tencentyun/TRTCSDK.git
注意将WXMini 目录下的components文件夹里的trtc-room文件复制到你项目的components文件夹下
集成组件
- 在需要引入组件的页面目录下,配置相应页面的 xxx.json 文件。
// index.json
"usingComponents": {
"trtc-room": "/components/trtc-room/trtc-room"
}
2.在相应页面的 xxx.wxml 文件中使用标签。
// index.wxml
3.确认 trtcConfig 属性中必填的配置参数。
实时音视频控制台
计算 UserSig
4.在 你的xxx.js 文件中添加如下代码,完成最基本的业务逻辑。实现进入某个指定的音视频房间,发布自己的音频和视频,并订阅远端用户的音频和视频。
this.setData({
trtcConfig:{
sdkAppID: '1401000123', // 开通实时音视频服务创建应用后分配的 SDKAppID
userID: 'test_user_001', // 用户 ID,可以由您的帐号系统指定
userSig: 'xxxxxxxxxxxx', // 身份签名,相当于登录密码的作用
template: 'grid', // 画面排版模式,支持1v1,grid,custom
}
},()=>{
let trtcRoomContext = this.selectComponent('#trtcroom')
let EVENT = trtcRoomContext.EVENT
if(trtcRoomContext) {
trtcRoomContext.on(EVENT.LOCAL_JOIN, (event)=>{
// 进房成功后发布本地音频流和视频流
trtcRoomContext.publishLocalVideo()
trtcRoomContext.publishLocalAudio()
})
// 监听远端用户的视频流的变更事件
trtcRoomContext.on(EVENT.REMOTE_VIDEO_ADD, (event)=>{
// 订阅(即播放)远端用户的视频流
let userID = event.data.userID
let streamType = event.data.streamType// 'main' or 'aux'
trtcRoomContext.subscribeRemoteVideo({userID: userID, streamType: streamType})
})
// 监听远端用户的音频流的变更事件
trtcRoomContext.on(EVENT.REMOTE_AUDIO_ADD, (event)=>{
// 订阅(即播放)远端用户的音频流
let userID = event.data.userID
trtcRoomContext.subscribeRemoteAudio({userID: userID})
})
// 进入房间
trtcRoomContext.enterRoom({roomID: 1002}).catch((res)=>{
console.error('room joinRoom 进房失败:', res)
})
}
})
如果想设定先设定死一些内容可以在data对象里设置
data: {
trtcConfig:{
sdkAppID:'',
userID:'',
userSig:'',
template:'',
enableIM:true, // 是否启用即时通信功能,文字功能
enableMic:true, //是否开启麦克风。设置为 true 时,调用 enterRoom 后,会自动发布音频
enableCamera:'true', //是否开启音频自动增益,该特性可以补偿部分手机麦克风音量太小的问题,但也会放大噪音,建议配合 ANS 同时开启。
beautyLevel:5, //美颜,取值范围 0-9,0表示关闭。
audioVolumeType:'voicecall', //系统音量类型,可选值为:media:媒体音量,voicecall:通话音量。
audioQuality:'high', //高音质(48KHz)或低音质(16KHz),可选值:high 或 low。
},
id:'', //房间id
},
具体属性事件操作可看官网文档
注意
1.如果需要上线或者部署正式环境请将推流域名及 IM 域名配置到小程序控制台 request 合法域名里面
https://cloud.tencent.com 推流域名
https://webim.tim.qq.com IM 业务域名
https://yun.tim.qq.com IM 业务域名
https://pingtas.qq.com IM 业务域名
Github代码和Demo地址
总结到此。
拜拜!!!