tencent cloud

接口文档

PDF
聚焦模式
字号
最后更新时间: 2026-01-27 16:47:02
注意:
H5 SDK 仅支持 GME 部分产品能力,支持的接口以此文档为准。请您阅读此文档并评估 H5 SDK 是否适用于您的业务场景。
接口
接口含义
Init
初始化接口
SetTMGDelegate
设置委托
EnterRoom
进入语音房间
EnableMic
开启或关闭采集设备
EnableSpeaker
开启或关闭播放设备
SetMicVolume
设置麦克风音量
ExitRoom
退出语音房间
说明:
GME 的接口调用成功后返回值为 QAVError.OK,数值为0。
GME 加入房间需要鉴权,请参考文档关于鉴权部分内容。
设备的操作要在进房成功之后。
Chrome74 以后严格限制 navigator.mediaDevices 在 HTTPS 环境下访问,所以请使用 HTTPS 环境。

接入 JQ

使用 Demo 需要接入 JQ。
<!--Step 2: 添加Audio容器-->
<!--容器,用来承接Audio标签, 请务必留意,不能忽略-->
<div id="gme-audio-wrap"></div>

初始化相关接口

未初始化前,SDK 处于未初始化阶段,需要初始化鉴权后,通过初始化 SDK,才可以进房。

初始化 SDK

参数获取请参考 接入指引
此接口需要来自腾讯云控制台的 SDKAppID 号码作为参数,再加上 openId,这个 openId 是唯一标识一个用户,规则由 App 开发者自行制定,App 内不重复即可(目前只支持 INT64)。
注意:
初始化 SDK 之后才可以进房。

函数原型

WebGMEAPI.fn.Init = function (document, SdkAppId, openId) {...}
参数
意义
document
HTML DOM Document 对象
SdkAppId
来自腾讯云控制台的 SdkAppId 号码
openId
用户的账号,由开发者定义,必须大于10000,用于标识用户

示例代码

const cSdkAppId = () => document.getElementById("input-SdkAppId").value;
const cOpenID = () => document.getElementById("input-OpenID").value;
gmeAPI.Init(document, cSdkAppId(), cOpenID());

设置回调

接口类采用 Delegate 方法用于向应用程序发送回调通知。将回调函数注册给 SDK,用于接受回调的信息。将回调函数注册给 SDK,要在进房之前设置。

函数原型

WebGMEAPI.fn.SetTMGDelegate = function (delegate){...}
参数
意义
onEvent
SDK 回调事件

示例代码

gmeAPI.SetTMGDelegate(onEvent);

实时语音相关接口

初始化之后,SDK 调用进房后进去了房间,才可以进行实时语音通话。

加入房间

用生成的鉴权信息进房,会收到消息为 ITMG_MAIN_EVENT_TYPE_ENTER_ROOM 的回调。加入房间默认不打开麦克风及扬声器。

函数原型

WebGMEAPI.fn.EnterRoom = function (roomId, roomType, authBuffer) {...}
参数
意义
roomId
房间号,最大支持127字符
roomType
房间音频类型
authBuffer
鉴权码,获取方式请参考 工程配置

示例代码

function bindButtonEvents() {
$("#start_btn").click(function () {
console.log('start!');
//步骤1, 获取 AuthBuffer
var FetchSigCgi = 'http://134.175.146.244:10005/';
$.ajax({
type: "POST",
url: FetchSigCgi,
dataType: 'json',
data: {
sdkappid: cSdkAppId(),
roomid: cRoomNum(),
openid: cOpenID(),
},
success: function (json) {
//步骤2, 获取 AuthBuffer 成功
if (json && json.errorCode === 0) {
let userSig = json.userSig;
gmeAPI.Init(document, cSdkAppId(), cOpenID());
gmeAPI.SetTMGDelegate(onEvent);
gmeAPI.EnterRoom(cRoomNum(), 1, userSig);
} else {
console.error(json);
}
},
error: function (err) {
console.error(err);
}
});
});

事件回调

加入房间完成后会发送信息 ITMG_MAIN_EVENT_TYPE_ENTER_ROOM,在 OnEvent 函数中进行判断。

示例代码

onEvent = function (eventType, result) {
if (eventType === gmeAPI.event.ITMG_MAIN_EVENT_TYPE_ENTER_ROOM)
{
//进房成功
}
else if (eventType === gmeAPI.event.ITMG_MAIN_EVENT_TYPE_USER_UPDATE)
{
app._data.downStreamInfoList = result.PeerInfo;//接收的对端的信息 ,参见下表
app._data.brSend = result.UploadBRSend;//上传语音数据的码率
app._data.rtt = result.UploadRTT;//上传 RTT
}
else if (eventType === gmeAPI.event.ITMG_MAIN_EVENT_TYPE_EXIT_ROOM)
{
//退房成功
}
else if (eventType === gmeAPI.event.ITMG_MAIN_EVENT_TYPE_ROOM_DISCONNECT)
{
//房间断开连接
}
};
接收的对端的信息如下 downStreamInfoList:
参数
意义
brRecv
接收的码率
delay
接收的延迟
jitterBufferMs
抖动延迟
jitterReceived
接收 jitter

退出房间

通过调用此接口可以退出所在房间。这是一个异步接口,退房之后有回调,返回值为 AV_OK 的时候代表异步投递成功。

函数原型

WebGMEAPI.fn.ExitRoom = function (){...}

示例代码

gmeAPI.ExitRoom();

开启关闭麦克风

此接口用来开启关闭麦克风。加入房间默认不打开麦克风及扬声器。

函数原型

WebGMEAPI.fn.EnableMic = function (bEnable) {...}
参数
意义
isEnabled
如果需要打开麦克风,则传入的参数为 true,如果关闭麦克风,则参数为 false

示例代码

gmeAPI.EnableMic(false);

设置麦克风的音量

此接口用于设置麦克风的音量。参数 volume 用于设置麦克风的音量,当数值为0的时候表示静音,当数值为100的时候表示音量不增不减,默认数值为100。

函数原型

WebGMEAPI.fn.SetMicVolume = function (volume){...}
参数
意义
volume
设置音量,范围0到100

示例代码

gmeAPI.SetMicVolume(100);

开启关闭扬声器

此接口用于开启关闭扬声器。

函数原型

WebGMEAPI.fn.EnableSpeaker = function (bEnable){...}
参数
意义
isEnabled
如果需要关闭扬声器,则传入的参数为 false,如果打开扬声器,则参数为 true

示例代码

gmeAPI.EnableSpeaker(true);


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈