前情提要

在一些以多人在线生存为主要玩法的游戏中,玩家们通常彼此之间不认识,比如说Minecraft服务器,如果为了增强玩家们的互动体验,把所有玩家都拉到一个语音频道(如YY),难免会有些隔阂。而且语音频道中太多人了也会影响通话体验。

于是,我前段时间希望在我的世界生存服务器内添加一款语音通话插件,该插件有以下功能:

  • 语音通话
  • 近场语音通话(只有相隔较近的玩家才能听到彼此的声音)
  • 数据安全(客户端不会知道远处玩家的坐标)
  • 听声辨位(客户端模拟玩家之间的方位来处理音频效果)
  • 环境效果(模拟游戏中所处的环境对音频进行处理,比如说山洞中有回音)

是不是有点意思?所有的玩家都在一个频道中,当玩家们聚集在游戏中的一个区域(比如说开始广场),他们能听到嘈杂的交流声…当玩家组队生存时,他们在大部分时间里只能听到队友的声音。

实现原理

实现的原理比较简单,游戏通过插件向中继服务器实时上报所有玩家的位置信息,中继服务器对所有玩家进行方位计算和环境计算,将计算结果推送给进入了频道的玩家客户端,再由客户端配合语音SDK实现加入频道、语音通讯、听声辨位等功能。

Created with Raphaël 2.3.0游戏服务端及插件中继服务器计算相对方位及环境计算结果下发到玩家的语音客户端语音客户端根据数据对通讯音频进行处理

总体流程无法表达细节,特别是有挺多地方需要鉴权,就不一一写出了,有兴趣可以私聊我了解。

使用的技术

技术 用途
spigot 游戏服务端及插件宿主
mysql 用户绑定网站用户与游戏角色(一个网站用户有可能有多个游戏角色)
websocket http长链接减低延时
php 网站及服务后台
java 游戏插件
frp 游戏服务器部署在内网高性能电脑上,需要穿透出去
electronjs 前端框架
react 前端渲染框架
http 前端采用http网页登录方式,便于各位服主接入自家系统

增强您的游戏体验

大声公实时获取您的角色在游戏中与其他玩家的相对位置,将语音通话的音频进行方位和音效等后期处理,可以让你随时掌握队友或其他人的大致方位。

#:特殊的音频处理取决于游戏的服主是否开启此功能。

数据安全

大声公采用云端计算的方式计算玩家之间的相对位置,在模拟通讯距离的情况下下发至客户端,不会泄露玩家坐标。

#:模拟通讯距离由服主进行设置。

稳定高效

大声公采用业内成熟的语言通话方案,通话引擎自带人声增强、低码高清等功能,在低质量网络、嘈杂环境下也能保证清晰的通话效果,自研的数据中继服务也能保证低延时的游戏反馈体验。

#:从玩家操作人物转动到声音空间改变所需的时间在100~500ms之间。

支持自定义登录方式

大声公采用网页登录方案,登录页面由游戏服务方提供,支持多种登录渠道,灵活高效。

下载体验地址

  • 游戏服务器:MC新世界
  • gnfc客户端:gnfc
  • gnfc服务端:gnfc服务端

gnfc——游戏增强现实语音通话系统相关推荐

  1. 三星电子推出X-net架构用于语音通话

    X-net 影音探索 #003 作者 | Teresa 近日,三星电子推出X-net,这是一种联合学习的Scale-down和Scale-up架构,用于语音编码中的预处理和后处理,作为在带宽受限的语音 ...

  2. Android P2P语音通话实现(思路探讨)

    最近在在研究语音通话的实现,现在把我的实现思路记录在这里.不过,由于初次接触语音通话,所以这是一个简单的思路,也是经过google以及baidu之后的一个学习总结. 我认为一个语音通话系统至少有四个模 ...

  3. Android 平台语音通话及回音消除、噪音消除研究

    一 Android平台语音通讯 正因为Android平台优越的性能.美观的界面,越来越多人使用Android手机,从而在Android平台上的 语音通话越来越多.语音通话大概流程如下:我认为一个语音通 ...

  4. Android 平台语音通话及回音消除、噪音消除研究(转)

    一 Android操作系统由来 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平 板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名 ...

  5. 语音通话-sip电话(一)

    语音通话-sip电话(一)--概述 最近有接到一个需求,需要做个语音通话系统,因为本人之前是完全没有相关经验的,内心各种抗拒,可是也只能硬着头皮接了下来,于是开始各种搜索,得到的结果:1.某某公司语音 ...

  6. 【转】Android 平台语音通话及回音消除、噪音消除研究

    本文转自博客:https://www.cnblogs.com/jianglijs/p/8583603.html -------------------------------------------- ...

  7. 智能会议系统(34)---Android语音通话实现方案及相关技术介绍

    Android语音通话实现方案及相关技术介绍 Android语音通话实现方案及相关技术介绍 语音通话 Step1语音采集和输出 Step2编解码方式 Step3网络传输 Step4去噪声消回音 语音通 ...

  8. 从语音通话和视频通话两个方面搭建专属于自己的私有化部署的视频会议通话系统

    召开远程视频会议,可大大提高工作效率,节省与会人员的工作时间和会议费用.视频会议通话系统应用在政府.军队.教育.金融.交通.能源.医疗等行业及跨国.跨地区的企业中逐步普及. EasyRTC视频通话系统 ...

  9. 用腾讯即时通讯IM和实时音视频实现陪玩系统源码的语音通话功能

    在陪玩系统源码中,用户之间主要的交流方式就是语音通话,实时互动性的语音通话能让人产生面对面交谈的感觉,所以在陪玩系统源码中,语音通话功能的开发非常重要,今天我们就一起来看看如何用腾讯即时通讯IM和实时 ...

  10. 苹果遭集体诉讼;华为或年底推出鸿蒙系统中低端智能手机;Facebook雇人记录用户语音通话以改善AI技术……...

    戳蓝字"CSDN云计算"关注我们哦! 嗨,大家好,重磅君带来的[云重磅]特别栏目,如期而至,每周五第一时间为大家带来重磅新闻.把握技术风向标,了解行业应用与实践,就交给我重磅君吧! ...

最新文章

  1. 在WebView中如何让JS与Java安全地互相调用
  2. tensorflow-yolov3 调试Intel Realsense D435摄像头所遇到的问题(USB自动检测并重置机制)hardware_reset() pyusb libusb devcon
  3. 段落排版--行间距, 行高(line-height)
  4. abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析
  5. 前端学习(171):注释元素
  6. python自加_浅谈:为什么python没有自增运算符?
  7. 单CPU处理1s视频仅需37ms、GPU仅需10ms,谷歌提出TVN视频架构
  8. dll文件 修改特征码_Could not load dynamic library cublas64_10.dll
  9. 10款新鲜出炉的 jQuery 插件
  10. ASP.NET Web API中实现版本的几种方式
  11. mongodb and ssis
  12. 《深入理解Android:卷III A》一一2.2Java层中的Binder分析
  13. AndroidStudio修改布局文件运行无效
  14. 《灵飞经》①洪武天下 第三章 东岛三尊
  15. 华大MCU-----进入深度睡眼不能下载程序
  16. 考公 | 粉笔网课笔记——数量 刘凯
  17. 个人开公司的流程及费用
  18. html中怎样变单独英文月份,【Web前端问题】js中,如何将日期中的月份转化为英文显示?...
  19. html下拉框原理,html下拉框获取value属性
  20. 论文笔记--GMAN: A Graph Multi-Attention Network for Traffic Prediction

热门文章

  1. 企业信息化有哪些好处?
  2. 单条SQL语句实现复杂逻辑几例(转)
  3. linux下通过inode删除文件
  4. Flutter学习笔记 数据储存shared_preferences
  5. 政府应用系统应用解决方案
  6. 未转变者服务器载具名称,未转变者可以乘坐哪些车及载具参数介绍
  7. 洛谷P1427 小鱼的数字游戏
  8. 【雅思大作文考官范文】——第九篇:‘CCTV essay’
  9. access里的多步oledb错误_access数据库常见问题处理
  10. background-image使用