欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由腾讯游戏云 发表于云+社区专栏

游戏和社交往往有着密不可分的关系,QQ轻游戏就是一款集成在手Q里面的游戏平台,直接通过手Q入口就能随开随玩,好友之间一言不合就可以游戏PK起来。

互动、好玩、快速开发都成为小游戏开发者的重要的核心竞争力,越来越多的小游戏也开始使用语音互动,但无论是对于QQ轻游戏团队还是游戏开发团队而言,自主开发游戏语音,既不经济也不具备技术优势。腾讯云游戏多媒体引擎 GME ( Gaming Multimedia Engine,以下简称 GME) 为QQ轻游戏团队提供的游戏语音能力,让游戏开发商免于重复造轮子的同时,把更多时间花在提升核心竞争力上。

GME以SDK方式为QQ轻游戏开发团队提供音频支持,QQ轻游戏团队仅需要在现成的音频能力基础上直接调用即可。GME在原有的SDK上进行了改造,大大简化了接入流程,提供了简单好用的音频技术服务,甚至只需要3行代码,你就可以给自己开发的QQ轻游戏加上语音互动场景。

如何改造让接入流程更加简便?

GME之前采用的是立体式接口,有一个总接口以及两个子接口分别管理房间、音频部分,每一个接口都有分别对应的接口事件。这样有一个好处,用相关功能,只需要初始化对应的相关接口,监听相关回调,游戏开发者使用起来更有层次感。

但这种接入模式比较复杂,不适用于QQ轻游戏这样的小游戏平台,真实的游戏开发商并不会直接对接SDK提供商,每次出问题都要涉及三方联调,所以这一套接口服务会引发后面不断的人力投入。并且小游戏平台要把能力封装到js脚本层,需要由音频服务商提供一套接口透传到QQ轻游戏的引擎层,再由QQ轻游戏负责实现js层对应的音频接口。 这个过程要求接口不能太多,否则不利于维护;但又不能太少,否则无法满足复杂的外部产品游戏需求。这就需要对现行的接入流程进行改造。

GME技术团队重新梳理了需求,从QQ轻游戏特殊需求出发,重新设计了接入流程。

QQ轻游戏接入者通常都是小游戏,开发周期没那么长,架构也不需要这么丰富,GME技术团队提炼出了高频使用的功能:开关扬声器和麦克风等。

所以GME技术团队扁平化了GME的接口, 如下:

在代码中,只有以下8个接口

这样对比以前会有一个好处,接入的时候用户可以不需要关心黑匣子中的内容,只需要关心对应的功能API就行。

新的接入流程如下

这样就比较好的接入实现了QQ轻游戏使用场景,对于游戏开发者而言,只要三步:

1, Import GME文件

2, 直接调用初始化接口, 设置自身的APPID信息

3, 之后再调用EnterRoom函数即可进房成功

因为内部默认开启麦克风, 扬声器, 所以只要 3行代码即可听到彼此声音。

QQ轻游戏接入的游戏通常体量较小,一般不会有过深的架构,并且需要最快速看见结果、得到响应,当用户场景不一样时,SDK也需要进行相应的转换。扁平化接口思想,让接入的游戏开发商能第一时间看到结果,为他们提供了更好的接入体验。

通过QQ轻游戏案例,GME对SDK接口的改造,大大提升了游戏开发者的接入效率。对于QQ轻游戏或者类似的游戏平台来说,使用腾讯云GME SDK,游戏开发者只需要三步就可以完成音视频功能的接入。

赶快体验GME,实现3行代码就能让小游戏快速接入语音互动的能力。

速戳:https://cloud.tencent.com/product/gme

问答

AI开发的语言要求是什么?

相关阅读

如何在Ubuntu上搭建Minecraft服务器

如何在Ubuntu上搭建方舟:生存进化服务器

使用Patroni和HAProxy创建高度可用的PostgreSQL集群

云学院 · 每日课程推荐 | 《移动开发云端新模式探索实践》

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1188198?fromSource=waitui

搜索关注公众号「云加社区」,第一时间获取技术干货,关注后回复1024 送你一份技术课程大礼包!

海量技术实践经验,尽在云加社区

3行代码,为QQ轻游戏加上语音互动能力的更多相关文章

  1. 【编程教室】PONG - 100行代码写一个弹球游戏

    大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...

  2. 自定义控件?试试300行代码实现QQ侧滑菜单

    Android自定义控件并没有什么捷径可走,需要不断得模仿练习才能出师.这其中进行模仿练习的demo的选择是至关重要的,最优选择莫过于官方的控件了,但是官方控件动辄就是几千行代码往往可能容易让人望而却 ...

  3. HTML5游戏实战(1):50行代码实现正面跑酷游戏

    前段时间看到一个"熊来了"的HTML5跑酷游戏,它是一个典型的正面2D跑酷游戏,这里借用它来介绍一下用Gamebuilder+CanTK开发正面跑酷游戏的基本方法. CanTK(C ...

  4. HTML5游戏实战之20行代码实现打地鼠

    之前写过一篇打地鼠的博客70行的代码实现打地鼠游戏,细致思考过后,发现70行代码都有点多余了,应用tangide的控件特性,能够将代码量缩减到20行左右. 先show一下终于成果,点击试玩:打地鼠.或 ...

  5. HTML5游戏实战(4): 20行代码实现FlappyBird

    这个系列很久没有更新了.几个月前有位读者调侃说,能不能一行代码做一个游戏呢.呵呵,接下来一段时间,我天天都在想这个问题,怎么能让GameBuilder+CanTK进一步简化游戏的开发呢.经过几个月的努 ...

  6. C# 13行代码带你模拟登录QQ空间

    最近想做一个QQ空间点赞的小工具,于是晚上下班回来就开始分析PC版的QQ空间,打开Chrome,切换到Network,然后输入账号密码,然后点击登录... 然后,我曹....一堆请求就开始了....搞 ...

  7. Python:游戏:300行代码实现俄罗斯方块

    本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很难啊, ...

  8. 37行代码实现一个简单的打游戏AI

    不废话,直接上码,跟神经网络一点关系都没有,这37行代码只能保证电脑的对敌牺牲率是1:10左右,如果想手动操控,注释掉autopilot后边的代码即可. 哪个大神有兴趣可以用tensorflow或者s ...

  9. 9 行 javascript 代码获取 QQ 群成员

    昨天看到一条微博:「22 行 JavaScript 代码实现 QQ 群成员提取器」. 本着好奇心点击进去,发现没有达到效果,一是 QQ 版本升级了,二是博客里面的代码也有些繁琐. 于是自己试着写了一个 ...

随机推荐

  1. App与微信WebAPP

    我的App与微信搞上了 小麦积分墙摘自网络 最近有很多开发者关心的一个问题是如何提升app的下载量,透过现象开本质,app下载量的终极目标还是为多少客户提供了服务,抛开下载量KPI,app真心关心的问 ...

  2. 微信小程序web-view之wx.miniProgram.redirectTo

    17年微信小程序官方提供了web-view组件. 官方描述:web-view组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面.个人类型与海外类型的小程序暂不支持使用. 这段时间研究了一下小程 ...

  3. 【OCP-12c】CUUG 071题库考试原题及答案解析(20)

    20.choose two Examine the description of the EMP_DETAILS table given below: Which two statements are ...

  4. “全栈2019”Java异常第二章:如何处理异常?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  5. junit启动tomcat来进行单元测试

    1.pom.xml配置下载需要的jar.   <dependency>            <groupId>junit</groupId>            ...

  6. 手把手教渗透测试人员打造.NET可执行文件

    在进行渗透测试的过程中,我们有时候会希望使用可执行文件来完成某些任务.最近,我们在测试过程中拿下了一个网站,从而获得了一次发动水坑攻击的机会. 原文地址:https://www.peew.pw/blo ...

  7. 【bug】—— H5页面在 ios 端滑动不流畅的问题

    IOS系统的惯性滑动效果非常6,但是当我们对div加overflow-y:auto;后是不会出这个效果的,滑动的时候会感觉很生涩.怎么办? 方案一: 在滚动容器内加-webkit-overflow-s ...

  8. Linux 开机过程(转)

    Linux 开机过程 初始化 POST(加电自检)并执行硬件检查: 当 POST 完成后,系统的控制权将移交给启动管理器的第一阶段(first stage),它存储在一个硬盘的引导扇区(对于使用 BI ...

  9. TCP 和 UDP 协议

    TCP 和 UDP 协议 一.socket层 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐 ...

  10. laravel框架图片上传

    1.建控制器方法 2.建立路由 绑定控制器方法 3.进行图片上传的配置 修改图片上传的路径 a) config/filesystems.php 修改disks->local->root(图 ...