Talk SDK for Windows 使用指南
适用范围
本规范仅适用于使用游密实时音频引擎win32/win64接口开发多人实时音音频功能的开发者。
开发环境
在开始集成游密Talk SDK 前,请确保开发环境满足以下要求:
- Visual Studio 2013 或以上版本
- Microsoft Windows 7 或以上版本
- Windows PC
SDK目录概述
Talk SDK中有win32、win64两个版本,其中每个版本包含两个子文件夹:lib、include:
include:SDK的头文件,所有接口都在这个文件夹中。IYouMeVoiceEngine.h封装了Talk SDK的全部功能接口,集成方可通过 IYouMeVoiceEngine::getInstance ()->…来调用语音SDK接口。IYouMeEventCallback.h包含Talk SDK的所有回调事件接口,例如初始化结果,频道加入成功等,都将通过此接口通知集成方。YouMeConstDefine.h包含Talk SDK的所有枚举类型定义,如错误码等。
lib:库文件。
SDK集成
- 解压SDK,并将SDK文件夹更名为YMTalkSDK(其他名称只要不冲突均可),拷贝至工程目录下(与.sln同级)。
- 在Visual Studio的项目-属性-配置属性-C/C++-常规中,添加附加包含目录“..\YMTalkSDK\win32\include”(如果是64位机器,请使用YMTalkSDK\win64\include)。
- 在Visual Studio的项目-属性-配置属性-链接器-常规中,添加附加库目录“..\YMTalkSDK\win32\lib\x86”(如果是64位机器,请使用YMTalkSDK\win64\lib\x86_64)。
- 在Visual Studio的项目-属性-配置属性-链接器-输入中,添加附加依赖项“youme_voice_engine.lib”。
- 拷贝“YMTalkSDK\win32\lib\x86”目录下的所有文件至执行目录(如果是64位机器,请使用YMTalkSDK\win64\lib\x86_64)。
音频通话流程图

音频通话时序图

音频通话相关代码
初始化
实现回调监听
class CYMEventCallback : public IYouMeEventCallback
{
public:
virtual void onEvent(const YouMeEvent event, const YouMeErrorCode error, const char * room, const char * param) override;
};初始化Talk SDK:其中appKey和appSecret为在游密后台申请的App Key和App Secret。serverZone:Talk 服务器区域,建议使用 RTC_DEFAULT_SERVER,其余设置值可查看官网文档-服务器部署地区定义。
IYouMeVoiceEngine::getInstance()->init(m_pEventCallback, appKey, appSecret, serverZone, "cn");加入频道
onEvent收到初始化成功消息YouMeEvent.YOUME_EVENT_INIT_OK后:
加入频道: 其中userID:用户标识,channelID:频道标识,userRole:用户在语音频道里面的角色,主要分为YOUME_USER_HOST(可以随时讲话和播放战歌等)、YOUME_USER_LISTENER(只听不讲)、YOUME_USER_TALKER_FREE(自由讲话者)等,详情见YouMeUserRole定义。
IYouMeVoiceEngine::getInstance()->joinChannel(userID, channelID, userRole, true, false);开关音频设备
onEvent收到加入频道成功消息YouMeEvent.YOUME_EVENT_JOIN_OK后: 打开/关闭麦克风:其中mute为true表示关闭麦克风,false表示开启麦克风。
IYouMeVoiceEngine::getInstance()->setMicrophoneMute(mute);打开/关闭扬声器:其中mute为true表示关闭麦克风,false表示开启麦克风。
IYouMeVoiceEngine::getInstance()->setSpeakerMute(mute);离开频道,反初始化
离开频道。
IYouMeVoiceEngine::getInstance()->leaveChannelAll();反初始化。
IYouMeVoiceEngine::getInstance()->unInit();回调与通话流程
在 init 中传入实现 IYouMeEventCallback 的对象,保持回调对象在通话期间有效。原生回调不保证在 UI 主线程,更新界面时先切回主线程。
接入顺序:注册/提供回调对象 → 初始化 → 等待初始化成功 → 加入频道 → 等待进房成功 → 设置麦克风和扬声器 → 请求离房并等待完成 → 反初始化。异步接口返回成功表示请求已受理,最终结果按回调处理;同步查询按实际返回类型读取。
各接口的语法、功能、参数、返回值和异步回调见 API 手册。
