新聞中心
這里有您想知道的互聯網營銷解決方案
創(chuàng)新互聯小程序教程:微信小程序多人音視頻對話
多人音視頻對話
用于實現小程序內多人音視頻對話的功能。

創(chuàng)新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的開平網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
申請開通
小程序管理后臺,「開發(fā)」-「接口設置」中自助開通該組件權限。相關接口 wx.joinVoIPChat 和組件 voip-room。
調用流程
開發(fā)者僅需提供房間唯一標識,即可加入到指定的房間。傳入相同唯一標識的用戶,會進到相同的房間。為了保證前端傳入的 groupId 可信,wx.joinVoIPChat 接口要求傳入簽名。詳見下文 簽名算法。當加入視頻房間時,可結合 voip-room 組件顯示成員畫面。
前端接口
- 創(chuàng)建/加入房間:wx.joinVoIPChat
- 離開房間:wx.exitVoIPChat
- 更新房間麥克風/耳機靜音設置:wx.updateVoIPChatMuteConfig
- 監(jiān)聽房間成員變化:wx.onVoIPChatMembersChanged
- 監(jiān)聽房間成員通話狀態(tài)變化:wx.onVoIPChatSpeakersChanged
- 監(jiān)聽通話中斷:wx.onVoIPChatInterrupted
- 監(jiān)聽實時語音通話成員視頻狀態(tài)變化:wx.onOnVoIPVideoMembersChanged
簽名算法
生成簽名需要傳入四個參數:
| 參數名 | 說明 |
|---|---|
| appId | 小游戲的 appId |
| groupId | 游戲房間的唯一標識,由游戲自己保證唯一 |
| nonceStr | 隨機字符串,長度應小于 128 |
| timeStamp | 生成這個隨機字符串的 UNIX 時間戳(精確到秒) |
簽名算法為:
signature = hmac_sha256([appId, groupId, nonceStr, timeStamp].sort().join(''), sessionKey)
具體來說,這個算法分為幾個步驟:
- 對 appId groupId nonceStr timeStamp 四個值表示成字符串形式,按照字典序排序;
- 將排好序的四個字符串拼接在一起;
- 使用 session_key 作為 key,使用 hmac_sha256 算法對 2 中的結果字符串做計算,所得結果即為 signature
示例:
appId = 'wx20afc706a711eefc'
groupId = '1559129713_672975982'
nonceStr = '8AP6DT9ybtniUJfb'
timeStamp = '1559129714'
session_key = 'gDyVgzwa0mFz9uUP7M6GQQ=='
str = [appId, groupId, nonceStr, timeStamp].sort().join('') = '1559129713_67297598215591297148AP6DT9ybtniUJfbwx20afc706a711eefc'
signature = hmac_sha256('1559129713_67297598215591297148AP6DT9ybtniUJfbwx20afc706a711eefc', sessionKey) = 'b002b824688dd8593a6079e11d8c5e8734fbcb39a6d5906eb347bfbcad79c617'
使用云開發(fā)完成簽名
在云開發(fā)中,無法獲取 session_key,但提供了單獨的函數 cloud.getVoIPSign 來計算簽名。
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
const signature = cloud.getVoIPSign({
groupId: 'xxx',
timestamp: 123,
nonce: 'yyy'
})
return signature
}
人數限制
每個房間最多同時加入 10 個人。
頻率限制
對于每個小程序,每天最多允許創(chuàng)建 100000 個房間。當所有人退出房間時,房間即被銷毀。此時如果傳入之前用過的 groupId 重新加入房間,會被計算為新開一個房間。
當前名稱:創(chuàng)新互聯小程序教程:微信小程序多人音視頻對話
網頁地址:http://www.dlmjj.cn/article/coopige.html


咨詢
建站咨詢
