Copyright (c) 2025 Tencent. All rights reserved.
Module: TMGAudioEffectCtrl@GMESDK
Function: 腾讯云 GME 音效相关功能接口。
ITMGAudioEffectCtrl
ITMGAudioEffectCtrl
函数列表 | 描述 |
开始播放背景音乐。 | |
停止播放背景音乐。 | |
暂停播放背景音乐。 | |
恢复播放背景音乐。 | |
背景音乐是否播放结束。 | |
设置所有背景音乐的本地音量和远端音量的大小。 | |
设置某一首背景音乐的远端音量的大小。 | |
获取某一首背景音乐的远端音量大小。 | |
设置某一首背景音乐的本地音量的大小。 | |
获取某一首背景音乐的本地音量的大小。 | |
调整背景音乐的音调高低。 | |
获取背景音乐的总时长(单位:毫秒)。 | |
获取背景音乐的播放进度(单位:毫秒)。 | |
设置背景音乐的播放进度(单位:毫秒)。 | |
是否将 sound_id 对应的背景音乐发布到远端。 | |
是否在本地播放 sound_id 对应的背景音乐。 | |
设置人声的变声特效。 | |
设置人声的混响特效。 | |
开始录制音频。 | |
停止录制音频。 | |
开启系统声音采集。 | |
停止系统声音采集。 | |
设置系统声音的采集音量。 |
枚举类型
枚举类型 | 描述 |
录制的音频内容类型。 | |
混响特效。 |
StartPlayMusic:filePath:loopCount:
StartPlayMusic:filePath:loopCount:
- (QAVResult)StartPlayMusic: | (long)soundId |
filePath: | (NSString *)filePath |
loopCount: | (int)loopCount |
开始播放背景音乐。
每个音乐都需要指定具体的 ID,可以通过该 ID 开始、停止播放音乐以及设置音量等。
参数 | 描述 |
filePath | 音乐文件路径。 |
loopCount | 播放次数,-1 表示循环播放, 1 - N 表示具体播放次数。 |
soundId | 音乐 ID,大于 0 的整数。 |
注意
1. 如果要多次播放同一首背景音乐,请不要每次播放都分配一个新的 ID,我们推荐使用相同的 ID。
2. 若您希望同时播放多首不同的音乐,请为不同的音乐分配不同的 ID 进行播放。
3. 如果使用同一个 ID 播放不同音乐,SDK 会先停止播放旧的音乐,再播放新的音乐。
StopPlayMusic:
StopPlayMusic:
- (QAVResult)StopPlayMusic: | (long)soundId |
停止播放背景音乐。
参数 | 描述 |
soundId | 音乐 ID。 |
PausePlayMusic:
PausePlayMusic:
- (QAVResult)PausePlayMusic: | (long)soundId |
暂停播放背景音乐。
参数 | 描述 |
soundId | 音乐 ID。 |
ResumePlayMusic:
ResumePlayMusic:
- (QAVResult)ResumePlayMusic: | (long)soundId |
恢复播放背景音乐。
参数 | 描述 |
soundId | 音乐 ID。 |
IsMusicPlayEnd:
IsMusicPlayEnd:
- (bool)IsMusicPlayEnd: | (long)soundId |
背景音乐是否播放结束。
参数 | 描述 |
soundId | 音乐 ID。 |
SetAllMusicVolume:
SetAllMusicVolume:
- (QAVResult)SetAllMusicVolume: | (int)volume |
设置所有背景音乐的本地音量和远端音量的大小。
该接口可以设置所有背景音乐的本地音量和远端音量。
本地音量:即主播本地可以听到的背景音乐的音量大小。
远端音量:即观众端可以听到的背景音乐的音量大小。
参数 | 描述 |
volume | 音量大小,取值范围为 [0,200],默认值:100。 |
注意
如果将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 200,但超过 100 的 volume 会有爆音的风险,请谨慎操作。
SetMusicPublishVolume:volume:
SetMusicPublishVolume:volume:
- (QAVResult)SetMusicPublishVolume: | (long)soundId |
volume: | (int)volume |
设置某一首背景音乐的远端音量的大小。
该接口可以细粒度地控制每一首背景音乐的远端音量,也就是观众端可听到的背景音乐的音量大小。
参数 | 描述 |
soundId | 音乐 ID。 |
volume | 音量大小,取值范围为 [0,200],默认值:100。 |
注意
如果将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 200,但超过 100 的 volume 会有爆音的风险,请谨慎操作。
GetMusicPublishVolume:
GetMusicPublishVolume:
- (QAVResult)GetMusicPublishVolume: | (long)soundId |
获取某一首背景音乐的远端音量大小。
该接口可以细粒度地获取每一首背景音乐的远端音量,也就是观众端可听到的背景音乐的音量大小。
参数 | 描述 |
soundId | 音乐 ID。 |
SetMusicPlayoutVolume:volume:
SetMusicPlayoutVolume:volume:
- (QAVResult)SetMusicPlayoutVolume: | (long)soundId |
volume: | (int)volume |
设置某一首背景音乐的本地音量的大小。
该接口可以细粒度地控制每一首背景音乐的本地音量,也就是主播本地可以听到的背景音乐的音量大小。
参数 | 描述 |
soundId | 音乐 ID。 |
volume | 音量大小,取值范围为 [0,200],默认值:100。 |
注意
如果将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 200,但超过 100 的 volume 会有爆音的风险,请谨慎操作。
GetMusicPlayoutVolume:
GetMusicPlayoutVolume:
- (QAVResult)GetMusicPlayoutVolume: | (long)soundId |
获取某一首背景音乐的本地音量的大小。
该接口可以细粒度地获取每一首背景音乐的本地音量,也就是主播本地可以听到的背景音乐的音量大小。
参数 | 描述 |
soundId | 音乐 ID。 |
SetMusicPitch:pitch:
SetMusicPitch:pitch:
- (QAVResult)SetMusicPitch: | (long)soundId |
pitch: | (float)pitch |
调整背景音乐的音调高低。
参数 | 描述 |
pitch | 音调,默认值是 0.0f,范围是:[-1 ~ 1] 之间的浮点数。 |
soundId | 音乐 ID。 |
GetMusicDurationInMS:
GetMusicDurationInMS:
- (int)GetMusicDurationInMS: | (long)soundId |
获取背景音乐的总时长(单位:毫秒)。
参数 | 描述 |
soundId | 音乐 ID。 |
GetMusicCurrentPosInMS:
GetMusicCurrentPosInMS:
- (int)GetMusicCurrentPosInMS: | (long)soundId |
获取背景音乐的播放进度(单位:毫秒)。
参数 | 描述 |
soundId | 音乐 ID。 |
SeekMusicToPosInTime:time:
SeekMusicToPosInTime:time:
- (QAVResult)SeekMusicToPosInTime: | (long)soundId |
time: | (int)time |
设置背景音乐的播放进度(单位:毫秒)。
参数 | 描述 |
soundId | 音乐 ID。 |
time | 播放进度,单位:毫秒。 |
EnableMusicPublish:enable:
EnableMusicPublish:enable:
- (QAVResult)EnableMusicPublish: | (long)soundId |
enable: | (BOOL)enable |
是否将 sound_id 对应的背景音乐发布到远端。
参数 | 描述 |
enable | 是否发布。 |
soundId | 音乐 ID。 |
EnableMusicPlayout:enable:
EnableMusicPlayout:enable:
- (QAVResult)EnableMusicPlayout: | (long)soundId |
enable: | (BOOL)enable |
是否在本地播放 sound_id 对应的背景音乐。
参数 | 描述 |
enable | 是否播放。 |
soundId | 音乐 ID。 |
SetVoiceType:
SetVoiceType:
- (QAVResult)SetVoiceType: |
设置人声的变声特效。
参数 | 描述 |
type | 音乐 ID。 |
注意
设置的效果在退出房间后会自动失效,如果下次进房还需要对应特效,需要调用此接口再次进行设置。
SetKaraokeType:
SetKaraokeType:
- (QAVResult)SetKaraokeType: |
设置人声的混响特效。
参数 | 描述 |
type | 音乐 ID。 |
注意
设置的效果在退出房间后会自动失效,如果下次进房还需要对应特效,需要调用此接口再次进行设置。
StartRecord:content:
StartRecord:content:
- (QAVResult)StartRecord: | (NSString *)filePath |
content: |
开始录制音频。
参数 | 描述 |
content | 可以录制的音频数据类型。 |
filePath | 音频文件路径。 |
StopRecord
StopRecord
停止录制音频。
StartSystemAudioLoopback:
StartSystemAudioLoopback:
- (QAVResult)StartSystemAudioLoopback: | (NSString *)playerPath |
开启系统声音采集。
该接口会从电脑的声卡中采集音频数据,并将其混入到 SDK 当前的音频数据流中,从而使房间中的其他用户也能听到主播的电脑所播放出的声音。
参数 | 描述 |
playerPath | 您可以指定该参数为空值(nullptr),代表让 SDK 采集整个系统的声音。 |
注意
在 Windows 平台下,您也可以将参数
playerPath 设置为某个应用程序的可执行文件(如 QQMuisc.exe)的绝对路径,此时 SDK 只会采集该应用程序的声音(支持 32 位版本的 SDK,64 位版本的 SDK 需要满足 Windows 版本为 10.0.19042 或更高版本)。您也可以指定该参数为某个扬声器设备的名称来采集特定扬声器声音(通过接口 TXDeviceManager 中的 getDevicesList 接口,可以获取类型为 TXMediaDeviceTypeSpeaker 的扬声器设备)。
在 Windows 平台下您也可以指定该参数为某个进程的进程 id(格式为 “process_xxx”,其中 xxx 为进程 id),此时 SDK 知会采集该进程的声音(需要满足 Windows 版本为 10.0.19042或更高版本)。
在 Windows 平台下您也可以指定该参数为某个进程的进程 id(格式为 “exclude_process_xxx”,其中 xxx 为进程 id),此时 SDK 会采集除了该进程的其他所有声音(需要满足 Windows 版本为 10.0.19042或更高版本)。
StopSystemAudioLoopback
StopSystemAudioLoopback
停止系统声音采集。
SetSystemAudioLoopbackVolume:
SetSystemAudioLoopbackVolume:
- (QAVResult)SetSystemAudioLoopbackVolume: | (int)volume |
设置系统声音的采集音量。
参数 | 描述 |
volume | 设置的音量大小,范围是:[0,200],默认值为 100。 |
ITMG_AUDIO_RECORDING_CONTENT
ITMG_AUDIO_RECORDING_CONTENT
录制的音频内容类型。
枚举 | 取值 | 描述 |
ITMG_AUDIO_RECORDING_CONTENT_ALL | 0 | 录制本地+远端音频。 |
ITMG_AUDIO_RECORDING_CONTENT_LOCAL | 1 | 只录制本地音频。 |
ITMG_AUDIO_RECORDING_CONTENT_REMOTE | 2 | 只录制远端音频。 |
ITMG_KARAOKE_TYPE
ITMG_KARAOKE_TYPE
混响特效。
混响特效可以作用于人声之上,通过声学算法对声音进行叠加处理,模拟出各种不同环境下的临场感受。
枚举 | 取值 | 描述 |
ITMG_KARAOKE_TYPE_0 | 0 | 关闭特效。 |
ITMG_KARAOKE_TYPE_1 | 1 | KTV |
ITMG_KARAOKE_TYPE_2 | 2 | 小房间。 |
ITMG_KARAOKE_TYPE_3 | 3 | 大会堂。 |
ITMG_KARAOKE_TYPE_4 | 4 | 低沉。 |
ITMG_KARAOKE_TYPE_5 | 5 | 洪亮。 |
ITMG_KARAOKE_TYPE_6 | 6 | 金属声。 |
ITMG_KARAOKE_TYPE_7 | 7 | 磁性。 |
ITMG_KARAOKE_TYPE_8 | 8 | 空灵。 |
ITMG_KARAOKE_TYPE_9 | 9 | 录音棚。 |
ITMG_KARAOKE_TYPE_10 | 10 | 悠扬。 |
ITMG_KARAOKE_TYPE_11 | 11 | 录音棚2。 |