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 政策
数据处理和安全协议
隐私协议
文档游戏多媒体引擎

实时语音音效

聚焦模式
字号
最后更新时间: 2025-12-09 14:24:56
为方便开发者调试和接入腾讯云游戏多媒体引擎产品 API,这里向您介绍游戏多媒体引擎实时语音音效的接入技术文档。

前提条件

已开通实时语音服务:可参见 服务开通指引
已接入 GME SDK:包括核心接口和实时语音接口的接入,详情可参见 Native SDK 快速接入Unity SDK 快速接入Unreal SDK 快速接入
使用 GME 实时语音功能成功进入语音房间,并且打开了麦克风(EnableMic)、扬声器(EnableSpeaker)。

实时语音音效相关接口

接口
接口含义
PlayEffect
播放音效
PauseEffect
暂停播放音效
PauseAllEffects
暂停所有音效
ResumeEffect
重新播放音效
ResumeAllEffects
重新播放所有音效
StopEffect
停止播放音效
StopAllEffects
停止播放所有音效
SetVoiceType
变声特效
SetKaraokeType
K 歌音效特效
GetEffectsVolume
获取播放音效的音量
SetEffectsVolume
设置播放音效的音量

播放音效

PlayEffect 接口用于播放音效。参数中音效 ID 需要 App 侧进行管理,ID 代表一次独立的播放事件。后续可以根据此 ID 控制此次播放。文件支持 m4a、wav、mp3 一共三种格式。

函数原型

ITMGAudioEffectCtrl virtual int PlayEffect(int soundId, const char* filePath, bool loop, double pitch, double pan, double gain)
参数
类型
意义
soundId
int
音效 ID
filePath
char*
音效路径
loop
bool
是否重复播放
pitch
double
播放频率,默认为1.0,该值越小播放速度越慢、时间越长
pan
double
声道,取值范围为 -1.0到1.0之间,-1.0表示只开启左声道
gain
double
增益音量,取值范围为 0.0到 1.0之间,默认为1.0

示例代码

double pitch = 1.0;
double pan = 0.0;
double gain = 0.0;
//Windows端
ITMGContextGetInstance()->GetAudioEffectCtrl()->PlayEffect(soundId,filepath,true,pitch,pan,gain);
//Android端
ITMGContext.GetInstance(this).GetAudioEffectCtrl().PlayEffect(soundId,filePath,loop);
//iOS端
[[[ITMGContext GetInstance] GetAudioEffectCtrl] PlayEffect:soundId filePath:path loop:isLoop];

暂停播放音效

PauseEffect 接口用于暂停播放音效。

函数原型

ITMGAudioEffectCtrl virtual int PauseEffect(int soundId)
参数
类型
意义
soundId
int
音效 ID

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->PauseEffect(soundId);

暂停所有音效

调用 PauseAllEffects 接口暂停所有音效

函数原型

ITMGAudioEffectCtrl virtual int PauseAllEffects()

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->PauseAllEffects();

重新播放音效

ResumeEffect 接口用于重新播放音效。

函数原型

ITMGAudioEffectCtrl virtual int ResumeEffect(int soundId)
参数
类型
意义
soundId
int
音效 ID

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->ResumeEffect(soundId);

重新播放所有音效

调用 ResumeAllEffects 接口重新播放所有音效。

函数原型

ITMGAudioEffectCtrl virtual int ResumeAllEffects()

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->ResumeAllEffects();

停止播放音效

StopEffect 接口用于停止播放音效。

函数原型

ITMGAudioEffectCtrl virtual int StopEffect(int soundId)
参数
类型
意义
soundId
int
音效 ID

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->StopEffect(soundId);

停止播放所有音效

调用 StopAllEffects 接口停止播放所有音效。

函数原型

ITMGAudioEffectCtrl virtual int StopAllEffects()

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->StopAllEffects();

变声特效

调用 SetVoiceType 接口设置变声特效。

函数原型

TMGAudioEffectCtrl int setVoiceType(int type)
参数
类型
意义
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);

K 歌音效特效

调用 SetKaraokeType 接口设置 K 歌音效特效。

函数原型

TMGAudioEffectCtrl int SetKaraokeType(int type)
参数
类型
意义
type
int
表示本端音频变声类型。
类型参数
参数代表
意义
ITMG_KARAOKE_TYPE_ORIGINAL
0
原声
ITMG_KARAOKE_TYPE_POP
1
流行
ITMG_KARAOKE_TYPE_ROCK
2
摇滚
ITMG_KARAOKE_TYPE_RB
3
嘻哈
ITMG_KARAOKE_TYPE_DANCE
4
舞曲
ITMG_KARAOKE_TYPE_HEAVEN
5
空灵
ITMG_KARAOKE_TYPE_TTS
6
语音合成

示例代码

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

获取播放音效的音量

调用 GetEffectsVolume 接口获取播放音效的音量,为线性音量,默认值为100,数值大于100为增益效果,数值小于100为减益效果。

函数原型

ITMGAudioEffectCtrl virtual int GetEffectsVolume()

示例代码

ITMGContextGetInstance()->GetAudioEffectCtrl()->GetEffectsVolume();

设置播放音效的音量

调用 SetEffectsVolume 接口设置播放音效的音量。

函数原型

ITMGAudioEffectCtrl virtual int SetEffectsVolume(int volume)
参数
类型
意义
volume
int
音量数值

示例代码

int volume=1;
ITMGContextGetInstance()->GetAudioEffectCtrl()->SetEffectsVolume(volume);


帮助和支持

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

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

文档反馈