文档导航 Cocos C++
本页目录

Talk SDK for Cocos2d 快速接入

概述

游密实时语音SDK(Talk SDK)是游密科技公司旗下的一款专注于为开发者提供实时语音技术和服务的云产品。我们的研发团队来自腾讯,其中不少是拥有10年以上音视频经验的专家,专业专注;我们的服务端节点部署遍布全球,为用户提供高效稳定的实时云服务,且弹性可扩展,真正做到亿级支撑、毫秒级延迟、通话清晰流畅、按需取用,为用户带来优质的通话体验。通过Talk SDK,能够让您轻松实现游戏内语音通话、主播、指挥、组队等多项功能。

四步集成

Step1:注册账号

在游密官网注册游密账号。

Step2:添加游戏,获取Appkey

在控制台添加游戏,获得接入需要的Appkey、Appsecret。

Step3:下载Talk SDK包体

根据游戏使用的游戏引擎与开发语言,在下载入口下载对应的SDK包体。

Step4:调试集成

Cocos2d-x平台集成Talk SDK:集成方法

单频道自由通话基本流程

先注册回调,初始化返回成功后等待初始化成功事件,再加入频道;收到进房成功后设置麦克风、扬声器及音量增益。同步返回失败或收到失败事件时停止后续步骤。退出时先离房,等待完成后反初始化。

下面的示例代码演示单频道自由通话。替换 AppKey、AppSecret、用户和频道 ID,并完成本平台 SDK 导入及权限配置;回调对象应保持存活。

C++
#include "IYouMeVoiceEngine.h"

class TalkQuickStart : public IYouMeEventCallback {
public:
    YouMeErrorCode Start() {
        return IYouMeVoiceEngine::getInstance()->init(this, "YOUR_APP_KEY", "YOUR_APP_SECRET",
            RTC_DEFAULT_SERVER, "");
    }
    void onEvent(YouMeEvent event, YouMeErrorCode error,
                 const char *channel, const char *param) override {
        auto *api = IYouMeVoiceEngine::getInstance();
        if (event == YOUME_EVENT_INIT_OK) {
            YouMeErrorCode ret = api->joinChannel("user1", "team1", YOUME_USER_TALKER_FREE, true, false);
            if (ret != YOUME_SUCCESS) { /* 处理同步进房错误。 */ }
        } else if (event == YOUME_EVENT_JOIN_OK) {
            api->setMicrophoneMute(false);
            api->setSpeakerMute(false);
            api->setVolume(70);
        } else if (event == YOUME_EVENT_INIT_FAILED || event == YOUME_EVENT_JOIN_FAILED) {
            // 处理 error 后停止后续流程。
        }
    }
};

// 在应用生命周期内保存该回调对象。
// TalkQuickStart talk; YouMeErrorCode ret = talk.Start(); 检查 ret 后等待回调。
// 离开时调用 leaveChannelAll,等待离房完成后再 unInit。

回调注册方式及基本通话流程见 使用指南,接口的五部分说明见 API 手册。初始化、进房和离房均等待相应完成事件后继续。