腾讯云游戏多媒体引擎(Gaming Multimedia Engine,GME)提供一站式游戏语音解决方案。针对不同游戏场景进行深度优化,覆盖休闲社交、MOBA、MMORPG、FPS 等多种游戏类型;支持多人实时语音、3D位置语音、语音消息和语音转文本等功能;功能完备,接入门槛低,一个 SDK 即可满足多样化的游戏语音需求。

游戏多媒体引擎 GME 提供高质量低成本的游戏语音解决方案,全面覆盖各种游戏场景,加速游戏研发,助力游戏社交化。

在腾讯云控制台新建应用开通服务后,下载 SDK 接入,四行代码即可在应用内实现语音互动。


功能

游戏多媒体引擎 GME 提供实时语音、语音消息及转文本服务。

实时语音服务

3D音效

采用了 HRTF 及 3D 空间处理技术以及针对距离的 EQ补偿技术,建立人耳获取声音模型,将无方位感的声音处理成带有声源方位感的声音,从而虚拟出空间中任意位置的声源对人耳造成的感觉。

陌生人喊话

支持一定范围内陌生人喊话,支持6个方位的 3D 音效。

麦序模式

用户轮流语音上麦,音质高流畅性好,适用于语音狼人杀等场景。

自由通话模式

支持多人同时讲话,超低延迟,适用于多人组队开黑等竞技游戏场景。

指挥模式

针对一对多指挥作战、主播语音陪玩等场景,适合大型国战类游戏。

语音消息及转文本服务

支持录制语音消息发送到游戏各频道,并实时转换为文本消息。

腾讯云游戏多媒体引擎(Gaming Multimedia Engine,GME)提供一站式游戏语音解决方案。针对不同游戏场景进行深度优化,覆盖休闲社交、MOBA、MMORPG、FPS 等多种游戏类型;支持多人实时语音、3D 位置语音、语音消息和语音转文本等功能。

实时语音

麦序模式
用户轮流语音上麦,音质高流畅性好,适用于语音狼人杀等场景。

自由通话模式
支持多人同时讲话,超低延迟,适用于多人组队开黑等竞技游戏场景。

指挥模式
针对一对多指挥作战、主播语音陪玩等场景,适合大型国战类游戏。

语音消息和语音识别

支持录制语音消息发送到游戏各频道,并实时转换为文本消息这功能,音质清晰,语音识别准确率高。

游戏场景定制

针对游戏场景对音视频编解码器进行深度优化,使其在码率、延时、系统资源消耗等关键技术指标达到先进水平。

先进基础设施

自建万兆云机房,配备20线 BGP 网络,800+节点,让玩家畅享稳定且极速的体验。

专业网络接入

复用 QQ 接入部署和调度策略,有效解决弱网络环境下的连通问题,连通率高达99.995%

超强服务承载

承载 QQ 服务支撑能力,支持亿级用户在线,亿级群数规模;实时监控,异地容灾,智能调度,保证服务安全可靠。

超低接入门槛

通用游戏框架全覆盖,四行代码极速接入。

功能完善全面

提供游戏场景常用功能:多人语音、实时视频、语音消息、语音转文本等多种功能。

电子竞技

在电子竞技类游戏中,争斗局势瞬息万变,相同阵营的玩家之间,需要根据战局实时沟通对敌策略。通过腾讯云实现的超低时延、流畅优先的实时游戏语音自由对讲,可以帮助玩家之间更好的进行沟通,提高对战游戏的乐趣。
www.ksyuwei.cn

国战游戏

国战游戏中的典型代表为 MMORPG,此类游戏中涉及团队副本、组队、帮派、国战指挥等多种玩法,对语音的时延要求也较高,腾讯云游戏多媒体引擎针对此类场景,实现实时自动上下麦及超低时延语音通话,高度适配超多人在线的国战类游戏玩家语音通话需求。
www.ksyuwei.cn

休闲游戏

在棋牌、K 歌、音乐等休闲类的游戏中,语音消息与语音对讲也是必不可少的需求,同时,部分休闲类游戏中,会有美女主播为玩家播放歌曲,或者通过歌曲伴奏进行 K 歌游戏。腾讯云提供的实时音视频能力保证了好友之间实时聊天沟通,同时提供包括耳返、变声的趣味化能力,保证最佳的休闲游戏体验。
www.ksyuwei.cn

狼人杀

目前,桌游类游戏狼人杀已经从传统的饭局延伸到了互联网,在狼人杀游戏中,玩家在开始前热场寒暄,在进行中按顺序发言,在结束后,盘点和回顾,这些环节,都离不开实时语音乃至视频的交互。腾讯云游戏多媒体引擎产品提供画面清晰度与音质优先的实时音视频服务,针对狼人杀场景特别定制,满足玩家所有音视频交互需求。
www.ksyuwei.cn

GME_SDK2.5 2019-06-27

新增功能

  • 增加实时语音获取房间内成员上行音量接口及下行音量接口。

  • 增加离线语音设置录制/播放音量及获取录制/播放音量接口。

  • 增加离线语音录音暂停录音及恢复录音接口。

优化能力

更新错误码,细化错误场景。

GME_SDK2.3.5 2019-03-25

新增功能

  • 新增 Android v8a 架构支持。

  • Android 低延时采集播放适配。

优化能力

稳定性提升。

GME_SDK2.3 2019-01-11

新增功能

  • 支持实时语音过程中使用离线语音。

  • 支持实时语音过滤,可识别暴恐、涉黄、涉政等信息。

  • 支持 H5 实时语音,实现全平台实时语音互通。

优化能力

  • 优化 SDK 的范围语音功能接口,降低接入门槛。

  • 语音降噪效果优化。

  • 大幅降低 SDK 内存消耗。

GME_SDK2.2 2018-10-29

新增功能

  • 支持多种K歌音效。

  • 优化超大房间体验,延时更低更流畅。

  • 离线语音消息支持流式语音转文字。

  • Windows 端支持伴奏。

优化能力

  • 语音带宽优化,更省流量。
    -CPU 及内存性能优化。

GME_SDK2.1.5 2018-09-13

接口变更

  • GenAuthBuffer 参数 roomId 类型由 int32 类型改为字符串类型。

  • EnterRoom 参数 roomId 类型由 int32 类型改为字符串类型。

  • SetMicVolume 由设置麦克风硬件音量改为设置麦克风软件音量。

  • GetMicVolume 由获取麦克风硬件音量改为获取麦克风软件音量。

优化能力

  • 房间号由 int32 类型升级为字符串类型。

  • 音量调节接口由设置及获取硬件音量改为设置及获取软件音量。

  • 修复 Bug,提高稳定性。

GME_SDK2.1 2018-08-21

新增功能

  • Windows 版支持变声。

  • Windows 端支持离线语音。

  • Windows 端支持 3D 音效。

  • Android SDK 支持 x86 架构。

  • iOS 和 MacSDK 适配 XCode10。

优化能力

  • 离线语音鉴权优化。

  • 移动端设备支持单独关闭。

  • 优化中音质的网络抗性。

GME_SDK2.0 2018-06-22

新增功能

  • GME 上架 PC Native、PC Unity 版本。

  • GME 支持 Unreal 引擎。

  • GME 离线语音转文本提供多语言支持,最多支持120种语言。

  • GME PC 端支持 3D 实时语音。

优化能力

  • 提升通话音量下的高音质体验。

  • 降低接入门槛,提供流畅音质、普通音质,高清音质多种选择。

  • 稳定性提升。

GME_SDK1.2 2018-04-02

新增功能

  • GME 支持 Cocos 引擎。

  • 提供调节麦克风音量接口。

  • 移动端支持小队语音,更好支持吃鸡类游戏。

  • PC 端支持播放伴奏,支持多种格式。

  • Android 端伴奏播放支持更多格式。

优化

  • 优化了狼人杀场景音频前处理效果,多人同时讲话效果更清晰。

  • 优化了 K 歌等场景下的音质表现,支持配置更高音质。

  • 优化了 Moba 场景下语音延迟,小队语音延迟更低。

  • 优化杂音消除算法,语音音质更纯净。

GME_SDK1.1 2017-10-18

新增功能

  • 游戏 SDK 支持多种格式的伴奏和音效。

  • 新增游戏场景下离线语音及语音转文本能力。

优化

  • 提供进房鉴权的客户端实现模块,降低 SDK 接入门槛。

  • iOS / Android 端啸叫抑制效果优化。

  • 狼人杀场景下音质平稳度、网络抗性等指标优化。

修复

修复了 Android 4.2 及以下系统版本必现 crash 的问题。

www.ksyuwei.cn

www.ksyuwei.cn

www.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cn

游戏多媒体引擎有哪些具体的功能?

游戏多媒体引擎支持实时语音、离线语音消息及语音识别文字功能。

游戏多媒体引擎的应用游戏场景都有哪些?

电子竞技,国战游戏,休闲游戏,狼人杀等。

请问游戏多媒体引擎支持哪些游戏引擎及平台?

游戏多媒体引擎目前支持的游戏引擎有 Unity 引擎,Unreal 引擎及 Cocos2d 引擎,支持的平台包括 Windows 平台、Mac 平台、iOS 平台、 Android 平台以及 H5 平台。

如何开始使用游戏多媒体引擎?

为了方便您有效地使用腾讯云游戏多媒体引擎 GME,查阅 接入指引文档 将带您进行游戏音视频引擎的初步接入。

Android 的 so 库有 x86_64 的吗?

SDK 暂时不提供 x86_64 版本。

Android 的 so 库有 armv8 的吗?

在2.3.5版本上已经支持。

接入 SDK 如果要进行混淆,应该怎么配置?

请参考 Android 工程配置文档。

如何保证鉴权的安全?

总体建议,建议接入初期使用客户端部署方案,后面可优化为部署在游戏 App 后台。

方案优点缺点
后台部署安全性高需要后台开发联调
客户端部署接入快速安全性低

客户端生成的鉴权,有效期是多久?

生成的鉴权永久有效。

实时语音及离线语音接入过程中,错误码提示鉴权失败,应该如何处理?

实时语音及离线语音接入过程出现鉴权错误,请先检查控制台上离线语音服务是否开启。在开启的情况下,检查以下几点:

  • SDKAppID 是否与控制台一致。

  • OpenID ,必须大于10000。

  • 离线语音房间号参数必须填 null。

  • 来自腾讯云控制台的密钥是否匹配。

游戏多媒体引擎 Android 和 iOS 平台 之间可以连通么?

可以连通,同一个 SDKAppid 进入同一个房间即可。

GME 支不支持手机的蓝牙切换?连接蓝牙设备后,语音声音的声音能否自动切换到蓝牙上面?

声音的切换是手机系统层面的。游戏多媒体引擎支持蓝牙设备播放。

如果需要热更新 GME,有什么需要注意的?

如果客户想热更新我们的sdk的话,需要将依赖我们sdk的模块都一并热更。帮忙问下客户想热更新的是哪个部分?如果是他们自己的游戏逻辑,那么和GME没有关系,如果想热更新GMESDK,那么规划热更新的时候需要把涉及到SDK的代码都加入到热更新中。

我们需要创建一个房间,房间内以麦序的方式唱歌,GME SDK 是否支持这样的产品需求?

GME的高清音质可以满足满足K歌需求。麦序属于用户产品需求,在客户 App 层处理更加灵活,例如产品层下发协议。

GME 的实时语音服务计费模式有哪些?如何选择?

实时语音服务支持两种计费模式:按语音 DAU 计费及按语音使用时长计费。详细价格可以进入 购买指南 进行查询。

GME 的实时语音服务 DAU 怎么计算?

应用内用户进入房间即算作语音 DAU,语音 DAU 按照 UserId 去重计算(UserId 是应用内用户的唯一标识符,一个用户对应一个 UserId)。

GME 的实时语音服务语音时长什么时候开始计算?

应用内用户进入房间即算语音时长。

GME 的语音消息及转文本服务计费模式有哪些?如何选择?

语音消息及转文本服务按语音消息 DAU 计费。详细价格可以进入 购买指南 进行查询。

GME 的语音消息及转文本服务 DAU 怎么计算?

应用内用户发送语音消息即算作语音消息 DAU,语音消息 DAU 按照 UserId 去重计算(UserId 是应用内用户的唯一标识符,一个用户对应一个 UserId)。

请问游戏多媒体引擎 Demo 及 SDK 在哪里下载?

请在 下载指引 下载相关 Demo 及 SDK。目前官网上有 Unity 引擎 Demo,Cocos2D 引擎 Demo,Android 原生开发 Demo 及 iOS 原生开发 Demo。

游戏多媒体引擎 Demo 下载后如果要换为自己申请的账号可以吗?

  • 可以,需要在控制台获取两个号码,分别为 sdkappid、权限密钥。

  • 使用客户自己申请的 appid 的话需要在 AVChatViewController 中的 GetAuthBuffer 中修改实时语音的 Key。

在使用 Demo 的时候报错:errinfo=priv map info error。怎么办?

相关进房参数出现错误,请检查 sdkappid、权限密钥 是否已经替换。

如何取得日志?

QAVSDK_带日期 .log,这个文件为日志文件。目录如下:

平台路径
Windows%appdata%\Tencent\GME\ProcessName
iOSApplication/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents
Android/sdcard/Android/data/xxx.xxx.xxx/files
Mac/Users/username/Library/Containers/xxx.xxx.xxx/Data/Documents

声音卡顿的主要原因?

  • 音乐卡:主播使用外放的设备播音乐,然后通过另一个手机采集并主播(这里会必现卡顿,可建议主播带耳机)。

  • 网络卡:上行丢包率过高或者上行延时波动较大情况下观众会听到卡顿。

下载 iOS Demo 之后无法运行

下载官方 iOS Demo 后,在 Xcode(版本为10以上) 编译时出现类似“ld: warning: directory not found for option”等错误,需手动将 Demo 同级目录下的 “GME_SDK” 文件夹下的 “GMESDK.framework” 文件添加到工程的 Framework 列表中。

下载 Unity Demo 导出可执行文件时报错

如果使用过程中有 Found plugins with same names and architectures 类似报错,是因为GME SDK 默认提供 x86 架构的 SDK 版本及 x86_64 架构的 SDK 版本,请在 plugins 文件夹中删除其中一份。

实时语音服务支持什么游戏场景?

大致有以下三种场景:

  • 麦序模式:用户轮流语音上麦,音质高流畅性好,适用于语音狼人杀等场景。

  • 自由通话模式:支持多人同时讲话,超低延迟,适用于多人组队开黑等竞技游戏场景。

  • 指挥模式:针对一对多指挥作战、主播语音陪玩等场景,适合大型国战类游戏。

如何选择适合我的音频类型?

不同的应用场景有不同的音频类型,具体请参见 音质选择文档。

触调用 poll 函数应该在什么时候开始调用?

请开发者在初始化 SDK 之后开始周期性的调用 Poll 函数。

触发事件需要周期性的调用 poll 函数,如果新开一个线程,定时唤醒,然后调用 poll 函数可以吗?

我们的接口理论上都需要在同一个线程中调用。如果您选择了在子线程调用,那么也请确保在同一个子线程内调用。特别是 Init 和 Poll。

调用 poll 函数的时间间隔多少比较合适?

如果没有特殊需求,请参照 Demo 进行调用。

GME 的实时语音房间数量有限制吗?人数有限制吗?

实时语音房间数量没有限制。人数也没有限制。

进房返回10001等失败情况下如何排查?

问题排查的步骤如下:

  1. 查看并确认进房 API 中的参数,如 Appid, UIN, AuthBuffer 的合法性(参照各平台接口文档)。

  2. 请查看控制台上的相关参数是否与本地的一致。

  3. 请查看控制台是否欠费。

  4. 检查开发者测试设备是在开发者内网环境还是外网环境。

为什么我在应用中进房会返回 HTTP Invalid id?

如果您的帐号是从0开始的,那么建议您帐号加上10000。例如您的帐号是999的话,输入的数字为10999。

进房失败返回值显示网络错误,要怎么解决?

问题排查的步骤如下:

  1. 查看并确认进房 API 中的参数,如 Appid, UIN, AuthBuffer 的合法性(参照各平台接口文档)。

  2. 如果合法,检查开发者测试设备是在开发者内网环境还是外网环境。

  3. 如果是开发者内网,请开发者探测下 url:openmsf.3g.qq.com:15000 是否能够连接上。

  4. 如上 url 成功连接,请探测下 url:cloud.tim.qq.com:15000 是否能够连通。

房间号有回收 API 吗?

没有回收 API,最后一个人退房,房间自动销毁。

房间号取值有要求吗?

房间号,最大支持127字符(离线语音房间号参数必须填 null)。

如果有退房后立即进房的场景,调用流程应该是怎么样的?

如果应用中有退房后立即进房的场景,在接口调用流程上,开发者无需要等待 ExitRoom 的回调 RoomExitComplete 通知,只需直接调用接口。

openid 取值有要求吗?

openid 目前只支持64位无符号整型。请转为 string 传入 SDK。

单个 openid 能同时进入多个房间吗?

不能,一个 openid 同时只能存在于一个房间。

离开房间和进入房间是异步的操作么?这两个接口可以同时调用么?

需要先调用 exitroom,收到退房成功的回调以后再调 enterroom。如果应用中有退房后立即进房的场景,在接口调用流程上,开发者无需要等待 ExitRoom 的回调 RoomExitComplete 通知,只需直接调用接口。

成员状态同步的时机是?第一次进房会不会通知?

音频事件的通知有一个阈值,超过这个阈值才会发送“有成员发送音频包”通知。房间成员两秒没有说话,才会发送“有成员停止发送音频包”通知。第一次进房会通知。

进房前可以设置麦克风音量吗?

不可以,在房间中才可以调用实时语音相关接口 ITMGAudioCtrl ITMGAudioEffectCtrl。

请问麦克风权限占用具体情况?

在 EnterRoom 函数调用成功之后就会占用麦克风权限,期间其他程序无法进行麦克风采集。
调用 EnableMic(false) 无法释放麦克风占用。
如果确实需要释放麦克风,请调用 PauseAudio。调用 PauseAudio 后会整个暂停引擎,调用 ResumeAudio 可恢复。

是否有调用 EnableMic 函数前获取麦克风好坏状态的接口?

利用 getMicCount 接口可以获取到麦克风是否可以使用。

玩家互相讲话,其他观众只能听的需求如何解决?

开发者在客户端进行维护,其他观众不能开启麦克风。

Android 手机打开麦克风之后,声音从听筒而不是扬声器出来,该如何解决?

权限中添加 “<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />” 这个权限。

开发者如何判断是否有播放背景音乐?

利用接口 IsAccompanyPlayEnd()。

使用 SDK 的时候,登模拟器放不了歌,也用不了电脑的声卡?

模拟器不支持 Mp3。

SDK 是否支持听筒播放声音?

实时语音不支持听筒。

SDK 支持哪些格式的本地音频文件?

m4a、wav、Mp3 一共三种格式。

GME 的实时语音范围语音如何接入?范围语音是否有距离衰减?

实时语音范围语音接入请参考 范围语音文档。实现范围语音功能后,同小队语音无距离衰减,全局语音有距离衰减,衰减系数参考文档。

为了实现 3D 音效,用户使用的麦克风和扬声器有什么要求?

为了实现 3D 音效需要播放端支持双声道。

GME 的实时语音 3D 音效如何接入?

实时语音 3D 音效接入请参考 3D 音效文档。

为什么我下载的 SDK 文档和 Demo 里没有 Authbuffer 文件。

Authbuffer 此文件已经合并了,请在 SDK 里面全局搜索一下。

tea 加密有没有 lib 文件?

我们为您提供 Authbuffer 编译文档及 zip 包 。

“ITMG_MAIN_EVENT_TYPE_ROOM_DISCONNECT”(因为网络断开),一般在什么情况下出现此通知,具体是多少分钟断连才会出现?

彻底断网,没有心跳包30s之后出现。

加入黑名单之后退房,黑名单的作用还在吗?

退出语音房间后,黑名单失效。

变声效果会生成文件吗?

启动变声效果是实时的,不会生成文件发送。

GME 的语音消息及转文本服务支持什么语言?

目前在腾讯云控制台开通的语音消息及转文本服务支持包括中文、英文、繁体中文、日语、韩语在内的120余种语言。

GME 的语音消息及转文本服务可以与实时语音一起使用吗?

可以的,调用相关接口进行切换就行。

调用上传语音文件接口上传成功后,返回值中的 fileid 是个 URL,该怎么使用?

调用下载文件接口然后用这个 URL 去下载文件。

离线语音的文件能否自行下载?

上传文件之后会返回 URL,这个 URL 可以用来下载语音文件。

离线语言的有效时间是多久?

离线语音文件会在服务器上存90天。

离线语音录制时间有限制吗?

离线语音支持1秒以上的录制,但最长时长不超过60秒。

使用离线语音的时候有 QAVPTTERROR_UPLOAD_APPINFO_UNSET 8200 这个错误,提示是没有设置appInfo,应该怎么解决?

离线语音的初始化错误导致的,建议开发者检查初始化及鉴权时候填入的 appid 和 openid 是否正确。

离线语音录制后上传下载的时间过长,应该如何解决?

离线语音如果转换文字延迟过高的话,建议使用流式录音接口,回调中有返回的文本。




  • 名称: 游戏多媒体引擎GME
  • 关键词: 游戏多媒体引擎GME,实时语音,离线语音,腾讯云