继承自 agora_gaming_rtc.IAudioEffectManager .

Public 成员函数

override double GetEffectsVolume ()
 
override int SetEffectsVolume (int volume)
 
override int PlayEffect (int soundId, string filePath, int loopCount, double pitch=1.0D, double pan=0.0D, int gain=100, bool publish=false)
 
override int StopEffect (int soundId)
 
override int StopAllEffects ()
 
override int PreloadEffect (int soundId, string filePath)
 
override int UnloadEffect (int soundId)
 
override int PauseEffect (int soundId)
 
override int PauseAllEffects ()
 
override int ResumeEffect (int soundId)
 
override int ResumeAllEffects ()
 
override int SetVoiceOnlyMode (bool enable)
 
override int SetRemoteVoicePosition (uint uid, double pan, double gain)
 
override int SetLocalVoicePitch (double pitch)
 

详细描述

成员函数说明

◆ GetEffectsVolume()

override double agora_gaming_rtc.AudioEffectManagerImpl.GetEffectsVolume ( )

获取音效文件的播放音量。

音量范围为 0~100。100 (默认值)为原始文件音量。

返回
  • ≥ 0: 方法调用成功则返回音效文件的音量。
  • < 0: 方法调用失败。

◆ SetEffectsVolume()

override int agora_gaming_rtc.AudioEffectManagerImpl.SetEffectsVolume ( int  volume)

设置音效文件的播放音量。

参数
volume该方法设置音效的音量。音量范围为 0~100。100 (默认值)为原始文件音量。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ PlayEffect()

override int agora_gaming_rtc.AudioEffectManagerImpl.PlayEffect ( int  soundId,
string  filePath,
int  loopCount,
double  pitch = 1.0D,
double  pan = 0.0D,
int  gain = 100,
bool  publish = false 
)

播放指定音效文件。

你可以多次调用该方法,通过传入不同的音效文件的 soundIdfilePath,同时播放多个音效文件,实现音效叠加。为获得最佳用户体验,我们建议同时播放的音效文件不要超过 3 个。

注解
  • 如果你已通过 PreloadEffect 将音效加载至内存,确保这里设置的 soundIdPreloadEffect 设置的 soundId 相同。
  • 在 macOS 和 Windows 上,该方法不支持同时播放多个在线音效文件。
参数
soundId指定音效的 ID。每个音效均有唯一的 ID。
filePath音效文件的绝对路径或 URL 地址(包含文件后缀名),例如:c:\music\audio.mp4。支持的音频格式包括:mp3、mp4、m4a、aac、3gp、mkv 及 wav。
loopCount设置音效循环播放的次数:
  • 0: 播放音效一次;
  • 1: 播放音效两次;
  • -1: 无限循环播放音效,直至调用 StopEffectStopAllEffects 后停止。
pitch设置音效的音调 取值范围为 [0.5, 2]。默认值为 1.0,表示不需要修改音调。取值越小,则音调越低。
pan设置是否改变音效的空间位置。取值范围为 [-1.0, 1.0]:
  • 0.0: 音效出现在正前方;
  • 1.0: 音效出现在右边;
  • -1.0: 音效出现在左边。
gain设置是否改变单个音效的音量。取值范围为 [0.0, 100.0]。默认值为 100.0。取值越小,则音效的音量越低。
publish设置是否将音效传到远端:
  • true: 音效在本地播放的同时,会发布到 Agora 云端,因此远端用户也能听到该音效;
  • false: 音效不会发布到 Agora 云端,因此只能在本地听到该音效。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ StopEffect()

override int agora_gaming_rtc.AudioEffectManagerImpl.StopEffect ( int  soundId)

停止播放指定音效文件。

参数
soundId指定音效文件的 ID。每个音效文件均有唯一的 ID。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ StopAllEffects()

override int agora_gaming_rtc.AudioEffectManagerImpl.StopAllEffects ( )

停止播放所有音效文件。

返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ PreloadEffect()

override int agora_gaming_rtc.AudioEffectManagerImpl.PreloadEffect ( int  soundId,
string  filePath 
)

将音效文件加载至内存。

将音效文件加载至内存。为保证通信畅通,请注意控制预加载音效文件的大小,并在 JoinChannelByKey 前就使用该方法完成音效预加载。音频文件支持以下音频格式: mp3、aac、m4a、3gp,和 wav。

注解
该方法不支持在线音频文件。
参数
soundId指定音效文件的 ID。每个音效文件均有唯一的 ID。
filePath音效文件的绝对路径。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ UnloadEffect()

override int agora_gaming_rtc.AudioEffectManagerImpl.UnloadEffect ( int  soundId)

从内存释放某个预加载的音效文件。

参数
soundId指定音效文件的 ID。每个音效文件均有唯一的 ID。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ PauseEffect()

override int agora_gaming_rtc.AudioEffectManagerImpl.PauseEffect ( int  soundId)

暂停音效文件播放。

参数
soundId指定音效文件的 ID。每个音效文件均有唯一的 ID。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ PauseAllEffects()

override int agora_gaming_rtc.AudioEffectManagerImpl.PauseAllEffects ( )

暂停所有音效文件播放。

返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ ResumeEffect()

override int agora_gaming_rtc.AudioEffectManagerImpl.ResumeEffect ( int  soundId)

恢复播放指定音效文件。

参数
soundId指定音效文件的 ID。每个音效文件均有唯一的 ID。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ ResumeAllEffects()

override int agora_gaming_rtc.AudioEffectManagerImpl.ResumeAllEffects ( )

恢复播放所有音效文件。

返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ SetVoiceOnlyMode()

override int agora_gaming_rtc.AudioEffectManagerImpl.SetVoiceOnlyMode ( bool  enable)

该方法设置仅限语音模式,即仅传输语音流,而不传输其他流,例如,敲键盘的声音等。

参数
enable
  • true: 启用。
  • false: 禁用。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ SetRemoteVoicePosition()

override int agora_gaming_rtc.AudioEffectManagerImpl.SetRemoteVoicePosition ( uint  uid,
double  pan,
double  gain 
)

设置远端用户的语音位置。

设置远端用户声音的空间位置和音量,方便本地用户听声辨位。通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

注解
  • 如果想调用 SetRemoteVoicePosition 实现听声辨位的功能,请确保在加入频道前调用 EnableSoundPositionIndication 开启远端用户的语音立体声。
  • 为获得最佳听觉体验,我们建议使用该方法时使用立体声外放。
参数
uid远端用户的 ID。
pan设置远端用户声音的空间位置,取值范围为 [-1.0,1.0]:
  • 0.0: (默认)声音出现在正前方。
  • -1.0: 声音出现在左边。
  • 1.0: 声音出现在右边。
gain设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ SetLocalVoicePitch()

override int agora_gaming_rtc.AudioEffectManagerImpl.SetLocalVoicePitch ( double  pitch)

设置本地语音音调。

参数
pitch语音频率可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。