吃鸡游戏怎么跟队友通话,吃鸡游戏怎么跟队友讲话

首页 > 游戏 > 作者:YD1662023-05-13 16:30:02

语音是线上游戏用户的主要交流方式,大多数用户会通过游戏中的内置语音功能与其他玩家沟通,而一些用户在游戏没有内置语音功能的情况下,通过其他语音软件与玩家沟通。

并且,游戏语音在玩家开黑时承担着至关重要的角色。设想在游戏场景中,我们与队友开黑时进行语音交流:互换位置信息、同步“敌方”状况,又或者通过游戏语音感受到来自“敌方”从边侧的进攻、近大远小的脚步声等,这是游戏语音中范围语音和 3D 音效结合后的效果。

ZEGO 游戏语音

ZEGO Express SDK 的游戏语音模块主要包括范围语音、3D 音效、小队语音等,适用于吃鸡类游戏、元宇宙类场景。

在吃鸡类游戏中,小队语音可提供编队功能,在游戏开始前和开始后都可以更换小队,开发者无需关注流分组以及推拉流的实现,直接实现小队语音功能。

在吃鸡游戏和元宇宙场景中,提供 3D 音效能力,在收听发声者音效时,有方向感距离感,让场景感受更真实。

1、范围语音

房间内的收听者对音频的接收距离有范围限制,若发声者与自己的距离超过该范围,则无法听到声音。为保证语音清晰,附近超过 20 人发声时,只能听到离自己最近的 20 个发声者的声音。

假如设置音频接收距离的最大范围为R,若发声者离收听者的距离为 r,则:

下图仅以范围语音模式为“全世界”时为例,更多不同模式组合关系下的声音可达情况请参考 4.9(可选)设置小队语音功能中的“步骤2”。

吃鸡游戏怎么跟队友通话,吃鸡游戏怎么跟队友讲话(1)

2、3D 音效

声音有 3D 空间感且按距离衰减。

3、小队语音

玩家可以选择加入小队,并支持在房间内自由切换“全世界”模式、“仅小队”模式、“隐秘小队”模式。

本篇文章我们将聚焦于范围语音模块,讲解范围语音的接入实践,接下来一起来看下具体实操流程。

【文章福利】小编整理了一些音视频学习资料包、大厂面试题、技术视频和学习路线图,包括(C/C ,Linux,FFmpeg webRTCrtmp hlsrtsp ffplay srs 等等资料)有需要的可以点击994289133加群免费领取哦~

吃鸡游戏怎么跟队友通话,吃鸡游戏怎么跟队友讲话(2)

范围语音接入技术实践1、示例源码下载

请参考 下载示例源码 获取源码。相关源码请查看 “/ZegoExpressExample/Examples/AdvancedAudioProcessing/RangeAudio” 目录下的文件。

2、前提条件

在实现范围语音之前,需要确保:

3、注意事项

使用范围语音功能时请务必关注如下注意事项,以免影响接入。如果您已经使用 ZEGO Express SDK 的实时音视频功能,需要注意以下事项:

4、使用步骤4.1 创建引擎

调用 createEngine 接口,将申请到到 AppID 和 AppSign 传入参数 “appID” 和 “appSign”,创建引擎单例对象。引擎当前只支持同时创建一个实例,超出后将返回 null。

/** 定义 SDK 引擎对象 */ ZegoExpressEngine engine; ZegoEngineProfile profile = new ZegoEngineProfile(); /** 请通过官网注册获取,格式为 123456789L */ profile.appID = appID; /** 64个字符,请通过官网注册获取,格式为"0123456789012345678901234567890123456789012345678901234567890123" */ profile.appSign = appSign; /** 通用场景接入,请根据实际情况选择合适的场景 */ profile.scenario = ZegoScenario.DEFAULT; /** 设置app的application 对象 */ profile.application = getApplication(); /** 创建引擎 */ engine = ZegoExpressEngine.createEngine(profile, null);4.2 创建范围语音模块

调用的 createRangeAudio 方法创建范围语音实例。

ZegoRangeAudio rangAudio = engine.createRangeAudio(); if (rangAudio == null) { printf("创建范围语音实例模块失败"); }4.3 监听范围语音事件回调

可以根据需要调用 setEventHandler 接口为麦克风设置事件回调,用于监听麦克风的开启状态 onRangeAudioMicrophoneStateUpdate通知。

// set range audio event handler rangeAudio.setEventHandler(new IZegoRangeAudioEventHandler() { @Override public void onRangeAudioMicrophoneStateUpdate(ZegoRangeAudio rangeAudio, ZegoRangeAudioMicrophoneState state, int errorCode) { super.onRangeAudioMicrophoneStateUpdate(rangeAudio, state, errorCode); AppLogger.getInstance().callApi("microphone state update. state: %s, errorCode: %d", state, errorCode); } });4.4 登录房间

传入用户 ID 参数 userID 和 userName 创建 ZegoUser 用户对象后,调用 loginRoom 接口,传入房间 ID 参数 roomID 和用户参数 user,登录房间。

/** 创建用户 */ ZegoUser user = new ZegoUser("user1"); /** 开始登录房间 */ engine.loginRoom("room1", user);

当用户已成功登录房间后,如果应用异常退出,在重启应用后,开发者需先调用 logoutRoom 接口退出房间,再调用 loginRoom接口重新登录房间。

4.5 初始化设置4.5.1 设置听者自身所在位置和朝向

开发者可以通过调用 updateSelfPosition 接口,设置听者自身的所在位置和方位,或者在自身方位发生变化时更新自己在世界坐标系中的位置和朝向。

吃鸡游戏怎么跟队友通话,吃鸡游戏怎么跟队友讲话(3)

吃鸡游戏怎么跟队友通话,吃鸡游戏怎么跟队友讲话(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.