小程序端腾讯云实时音视频的接入

本文主要介绍如何快速地将腾讯云 小程序组件集成到您的项目中,只要按照如下步骤进行配置,即可完成组件的集成工作。

准备工作

在集成小程序 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文件夹下

集成组件
  1. 在需要引入组件的页面目录下,配置相应页面的 xxx.json 文件。
// index.json
"usingComponents": {
"trtc-room": "/components/trtc-room/trtc-room"
}

2.在相应页面的 xxx.wxml 文件中使用标签。

// index.wxml

3.确认 trtcConfig 属性中必填的配置参数。
实时音视频控制台
计算 UserSig

trtcConfig必传

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地址
总结到此。
拜拜!!!

你可能感兴趣的:(小程序端腾讯云实时音视频的接入)