tencent cloud

文档反馈

接口文档

最后更新时间:2024-01-18 15:13:51
    注意:
    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);
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持