出于政策和合规的考虑,微信暂未放开所有小程序对实时音视频功能(即 <live-pusher> 和 <live-player> 标签)的支持:
sdkAppId
并记录导入components目录下的trtc-room插件(没有则导入整个components)和debug目录
此时,trtc-room组件已经安装好了。
此时,准备工作已经做好,可以开启我们所熟悉的写代码环节了。
"usingComponents": {
"trtc-room": "/components/trtc-room/trtc-room"
}
<trtc-room id="trtcroom" config="{{trtcConfig}}"></trtc-room>
修改GenerateTestUserSig.js中的配置
const SDKAPPID = 11111111111//修改为步骤一记录的sdkAppId
const SECRETKEY = '7121aa26ae13903038061gh393fd7e42235589c97ce99c115411cb6253237506'//第一步记录的密钥
import{ genTestUserSig }from'../../../debug/GenerateTestUserSig.js'//咱们在需要在js文件中引用它
//这里接第四步代码
如下代码所示,暂时在代码里写死用户ID和房间号,以作测试。
Page({
data: {
trtcConfig:{
sdkAppID: '', // 开通实时音视频服务创建应用后分配的 SDKAppID
userID: '', // 用户 ID,可以由您的帐号系统指定
userSig: '', // 身份签名,相当于登录密码的作用
template: '', // 画面排版模式
}
},
//事件处理函数
bindViewTap: function() {
},
onLoad: function () {
let userID = 'test';//测试用户test
const Signature = genTestUserSig(userID);
this.setData({
trtcConfig: {
sdkAppID: Signature.sdkAppID, // 开通实时音视频服务创建应用后分配的 SDKAppID
userID: userID, // 用户 ID,可以由您的帐号系统指定
userSig: Signature.userSig, // 身份签名,相当于登录密码的作用
template: 'grid', // 画面排版模式
}
}, () => {
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 })
})
// 进入房间,这里是写死的房间号1002
trtcRoomContext.enterRoom({ roomID: 1002 }).catch((res) => {
console.error('room joinRoom 进房失败:', res)
})
}
})
}
})
若用企业微信创建的小程序账号,请授予自己微信开发者权限
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。