腾讯云游戏多媒体引擎实时语音角色设置_音视频解决方案_同尘科技

游戏多媒体引擎 2年前 (2023-03-29) 浏览 88

注意:GME 3.x 版本暂不支持实时语音角色设置功能。为方便开发者调试和接入腾讯云游戏多媒体引擎产品 API,本文向您介绍游戏多媒体引擎国战语音模式的接入流程。

使用场景

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

前提条件

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

接入步骤

接入国战语音模式流程如下:1. 使用 GME 服务2. 设置角色3. 使用实时语音服务4. 打开麦克风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 接口退出实时语音房间后,角色状态失效,需要重新设置角色。

对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?