tencent cloud

游戏多媒体引擎

产品动态
产品介绍
产品概述
优势特性
产品功能
应用场景
安全合规认证
新手指引
产品计费
免费额度
购买指南
SDK 下载指引
产品功能体验
基本功能演示
场景化 Demo 体验
控制台指南
用量查看
服务开通
快速入门
快速接入 SDK
快速接入 Sample Project
基础功能开发指南
鉴权密钥
实时语音角色设置
音质选择
进阶功能开发指南
服务端录制
万人范围语音
3D 音效
音效与伴奏
网络音频流转发路由
自定义消息通道
如何应对公司防火墙限制
语言参数参考列表
房间管理功能
客户端 API
Unity SDK
Unreal Engine SDK
Cocos2D SDK
Windows SDK
iOS SDK
Android SDK
macOS SDK
H5SDK
Electron SDK
Flutter SDK
SDK 版本升级指引
错误码
编译工具链文档
服务端 API
History
Introduction
API Category
Usage APIs
Recording APIs
Making API Requests
Voice Chat APIs
Application APIs
Data Types
Error Codes
常见问题
产品功能问题
问题解决指南
计费相关问题
Sample Project 使用问题
一般性问题
鉴权相关问题
实时语音进房失败问题
实时语音无声及音频问题
网络问题
语音转文本问题
工程导出问题
服务协议
服务等级协议
联系我们
词汇表
GME 政策
数据处理和安全协议
隐私协议

语音变声

PDF
聚焦模式
字号
最后更新时间: 2024-12-18 15:01:09
为方便开发者调试和接入腾讯云游戏多媒体引擎产品 API,本文向您介绍游戏多媒体引擎变声特效的接入方法。

使用场景





前提条件

已开通实时语音服务:可参见 服务开通指引
已开通语音转文本服务:可参见 服务开通指引
已接入 GME SDK:包括核心接口和实时语音接口的接入,详情可参见 Native SDK 快速接入Unity SDK 快速接入Unreal SDK 快速接入
已接入 GME SDK 库文件libgmesoundtouch:需要保证工程库文件中带有 libgmesoundtouch,具体参见 库文件对应功能

实时语音变声接入

变声接口

在已经进房成功且打开麦克风的情况下,调用 SetVoiceType 接口设置变声特效,接口返回0代表调用成功,房间内的人听到的本端发出的声音带有变声效果。如果要自测变声效果,请使用耳返功能(接口:EnableLoopBack)。

函数原型

Android
iOS
Unity
C++
public static class ITMG_VoiceType {
public static final int ITMG_VOICE_TYPE_ORIGINAL_SOUND = 0;
public static final int ITMG_VOICE_TYPE_LOLITA = 1;
public static final int ITMG_VOICE_TYPE_UNCLE = 2;
public static final int ITMG_VOICE_TYPE_INTANGIBLE = 3;
public static final int ITMG_VOICE_TYPE_DEAD_FATBOY = 4;
public static final int ITMG_VOICE_TYPE_HEAVY_MENTAL = 5;
public static final int ITMG_VOICE_TYPE_DIALECT = 6;
public static final int ITMG_VOICE_TYPE_INFLUENZA = 7;
public static final int ITMG_VOICE_TYPE_CAGED_ANIMAL = 8;
public static final int ITMG_VOICE_TYPE_HEAVY_MACHINE = 9;
public static final int ITMG_VOICE_TYPE_STRONG_CURRENT = 10;
public static final int ITMG_VOICE_TYPE_KINDER_GARTEN = 11;
public static final int ITMG_VOICE_TYPE_HUANG = 12;
};
public abstract int SetVoiceType(int type);

-(QAVResult)SetVoiceType:(ITMG_VOICE_TYPE) type

public abstract class ITMGAudioEffectCtrl{
public static int VOICE_TYPE_ORIGINAL_SOUND = 0;
public static int VOICE_TYPE_LOLITA = 1;
public static int VOICE_TYPE_UNCLE = 2;
public static int VOICE_TYPE_INTANGIBLE = 3;
public static int VOICE_TYPE_DEAD_FATBOY = 4;
public static int VOICE_TYPE_HEAVY_MENTAL = 5;
public static int VOICE_TYPE_DIALECT = 6;
public static int VOICE_TYPE_INFLUENZA = 7;
public static int VOICE_TYPE_CAGED_ANIMAL = 8;
public static int VOICE_TYPE_HEAVY_MACHINE = 9;
public static int VOICE_TYPE_STRONG_CURRENT = 10;
public static int VOICE_TYPE_KINDER_GARTEN = 11;
public static int VOICE_TYPE_HUANG = 12;
public abstract int SetVoiceType(int voiceType);
}

class ITMGAudioEffectCtrl {
public:
virtual ~ITMGAudioEffectCtrl(){};
virtual int SetVoiceType(ITMG_VOICE_TYPE voiceType) = 0;
}

参数
类型
意义
type
int
表示本端音频变声类型
类型参数
参数代表
意义
ITMG_VOICE_TYPE_ORIGINAL_SOUND
0
原声
ITMG_VOICE_TYPE_LOLITA
1
萝莉
ITMG_VOICE_TYPE_UNCLE
2
大叔
ITMG_VOICE_TYPE_INTANGIBLE
3
空灵
ITMG_VOICE_TYPE_DEAD_FATBOY
4
小胖子
ITMG_VOICE_TYPE_HEAVY_MENTA
5
重金属
ITMG_VOICE_TYPE_DIALECT
6
歪果仁
ITMG_VOICE_TYPE_INFLUENZA
7
感冒
ITMG_VOICE_TYPE_CAGED_ANIMAL
8
困兽
ITMG_VOICE_TYPE_HEAVY_MACHINE
9
重机器
ITMG_VOICE_TYPE_STRONG_CURRENT
10
强电流
ITMG_VOICE_TYPE_KINDER_GARTEN
11
幼稚园
ITMG_VOICE_TYPE_HUANG
12
小顽童

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->setVoiceType(0);

语音消息变声接入

语音消息变声流程




语音消息变声不会影响原始的音频信息,在播放的时候才体现变声效果。

语音消息播放

语音消息播放接口,带有变声效果参数。
Android
iOS
Unity
C++
public abstract int PlayRecordedFile(String filePath,int voicetype);

-(int)PlayRecordedFile:(NSString*)filePath VoiceType:(ITMG_VOICE_TYPE) type

ITMGPTT PlayRecordedFile(string filePath,int voiceType);

public abstract int PlayRecordedFile(string filePath,int voiceType);

参数
类型
含义
filePath
string
本地语音文件的路径
voicetype
int
变声类型

错误码

错误码值
原因
建议方案
20485
播放未开始
确保文件存在,文件路径的合法性


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈