有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
注意:GME 3.x 版本暂不支持实时语音角色设置功能。
为方便开发者调试和接入腾讯云游戏多媒体引擎产品 API,本文向您介绍游戏多媒体引擎国战语音模式的接入流程。

使用场景

在国战游戏场景中,GME 提供主播以及听众两种角色,如果在进房前设置为主播,则进房之后可以打开麦克风发言以及打开扬声器听房间内的交流声音;如果使用听众角色进入房间,进房之后即使打开了麦克风也无法在房间内发言。

前提条件

已完成 GME 应用创建,并获取 SDK AppID 和 Key。请参考 服务开通指引
已开通 GME 实时语音服务。请参考 服务开通指引
已完成 GME SDK 接入。请参考 SDK 快速接入

接入步骤

接入国战语音模式流程如下:
2. 设置角色
5. 改变角色
6. 退出房间

步骤1:使用 GME 服务

GME SDK 的调用和接入请参见 Native SDK 快速接入Unity SDK 快速接入Unreal SDK 快速接入

步骤2:设置角色

在进房 EnterRoom 接口调用之前,需要调用设置角色接口,设置本端在实时语音中的角色。

函数原型

public abstract int SetAudioRole(ITMG_AUDIO_MEMBER_ROLE role);
参数
类型
含义
role
ITMG_AUDIO_MEMBER_ROLE
ITMG_AUDIO_MEMBER_ROLE_ANCHOR 代表主播,在房间内可以打开麦克风及扬声器
ITMG_AUDIO_MEMBER_ROLE_AUDIENCE 代表听众,在房间内只能打开扬声器收听

示例代码

ITMGContext.GetInstance().SetAudioRole(ITMG_AUDIO_MEMBER_ROLE.ITMG_AUDIO_MEMBER_ROLE_AUDIENCE);

步骤3:使用实时语音服务

调用 EnterRoom 接口进入实时语音房间。

步骤4:打开麦克风

如果角色是主播,可以正常调用 EnableMic 接口以及 EnableSpeaker 接口打开麦克风以及扬声器。
如果角色是听众,可以正常使用 EnableSpeaker 接口打开扬声器,但是调用 EnableMic 接口时会返回 AV_ERR_INVALID_ARGUMENT(1004)错误码,提示此时是听众模式,打开麦克风无效。

步骤5:改变角色

在房间中可以调用 SetAudioRole 改变角色,如果此时:
未设置角色,则会转变成新设置的角色。
已经设置了角色,则会转变为新设置的角色。
如果此时未设置角色或者是主播角色,已经开启了麦克风正常通话,改变为听众角色后,麦克风依然是打开状态,此时建议业务层调用 EnableMic 接口修改麦克风状态,同时修改麦克风 UI 状态。

步骤6:退出房间

调用 ExitRoom 接口退出实时语音房间后,角色状态失效,需要重新设置角色。