继承自 agora_gaming_rtc.IAudioEffectManager .
|
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 | PlayEffect (int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish, int startPos) |
|
override int | GetEffectDuration (string filePath) |
|
override int | SetEffectPosition (int soundId, int pos) |
|
override int | GetEffectCurrentPosition (int soundId) |
|
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 (默认值)为原始文件音量。
- 注解
- 该方法需要在 PlayEffect 后调用。
- 返回
- ≥ 0: 方法调用成功则返回音效文件的音量。
- < 0: 方法调用失败。
◆ SetEffectsVolume()
override int agora_gaming_rtc.AudioEffectManagerImpl.SetEffectsVolume |
( |
int |
volume | ) |
|
设置音效文件的播放音量。
- 注解
- 该方法需要在 PlayEffect 后调用。
- 参数
-
volume | 该方法设置音效的音量。音量范围为 0~100。100 (默认值)为原始文件音量。 |
- 返回
-
◆ PlayEffect() [1/2]
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 |
|
) |
| |
播放指定音效文件。
- 弃用:
- 自 v3.4.2 废弃,请改用 PlayEffect[2/2]。
你可以多次调用该方法,通过传入不同的音效文件的 soundId
和 filePath
,同时播放多个音效文件,实现音效叠加。为获得最佳用户体验,我们建议同时播放的音效文件不要超过 3 个。
- 注解
- 如果你已通过 PreloadEffect 将音效加载至内存,确保这里设置的
soundId
与 PreloadEffect
设置的 soundId
相同。
- 在 macOS 和 Windows 上,该方法不支持同时播放多个在线音效文件。
- 该方法需要在加入频道后调用。
- 参数
-
soundId | 指定音效的 ID。每个音效均有唯一的 ID。 |
filePath | 音效文件的绝对路径或 URL 地址,例如:c:\music\audio.mp4。建议填写文件后缀名。若无法确定文件后缀名,可不填。支持的音频格式包括:mp3、mp4、m4a、aac、3gp、mkv 及 wav。 在 Android 上访问本地文件时,Agora 推荐填入 URI 地址或以 /assets/ 开头的路径。 |
loopCount | 设置音效循环播放的次数:
|
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 云端,因此只能在本地听到该音效。
|
- 返回
-
◆ PlayEffect() [2/2]
override int agora_gaming_rtc.AudioEffectManagerImpl.PlayEffect |
( |
int |
soundId, |
|
|
string |
filePath, |
|
|
int |
loopCount, |
|
|
double |
pitch, |
|
|
double |
pan, |
|
|
int |
gain, |
|
|
bool |
publish, |
|
|
int |
startPos |
|
) |
| |
播放指定的本地或在线音效文件。
- 自从
- v3.4.2
你可以多次调用该方法,传入不同的 soundId
和 filePath
,同时播放多个音效文件。 为获得最佳用户体验,Agora 推荐同时播放的音效文件不超过 3 个。
音效文件播放结束后,SDK 会触发 OnAudioEffectFinishedHandler 回调。
- 注解
- 该方法需要在加入频道后调用。
- 参数
-
soundId | 音效的 ID。每个音效的 ID 具有唯一性。 如果你已通过 PreloadEffect 将音效加载至内存, 请确保该参数与 PreloadEffect 中设置的 soundId 相同。 |
filePath | 音效文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如:C:\music\audio.mp4 。 支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP。 详见 Supported Media Formats in Media Foundation。 在 Android 上访问本地文件时,Agora 推荐填入 URI 地址或以 /assets/ 开头的路径。 如果你已通过 PreloadEffect 将音效加载至内存, 请确保该参数与 PreloadEffect 中设置的 filePath 相同。 |
loopCount | 音效循环播放的次数。
- ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
-1 : 无限循环播放。
|
pitch | 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 |
pan | 音效的空间位置。取值范围为 [-1.0,1.0],例如:
-1.0 : 音效出现在左边
0.0 : 音效出现在正前方
1.0 : 音效出现在右边
|
gain | 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 |
publish | 是否将音效发布至远端:
true : 发布。本地用户和远端用户都能听到音效。
false : 不发布。只有本地用户能听到音效。
|
startPos | 音效文件的播放位置,单位为毫秒。 |
- 返回
-
◆ GetEffectDuration()
override int agora_gaming_rtc.AudioEffectManagerImpl.GetEffectDuration |
( |
string |
filePath | ) |
|
获取指定音效文件总时长。
- 自从
- v3.4.2
- 注解
- 该方法需要在加入频道后调用。
- 参数
-
- 返回
- ≥ 0: 方法调用成功,返回指定音效文件时长(毫秒)
- < 0: 方法调用失败
-22(ERR_RESOURCE_LIMITED)
: 无法找到音效文件。请填写正确的 filePath
◆ SetEffectPosition()
override int agora_gaming_rtc.AudioEffectManagerImpl.SetEffectPosition |
( |
int |
soundId, |
|
|
int |
pos |
|
) |
| |
设置指定音效文件的播放位置。
- 自从
- v3.4.2
成功设置后,本地音效文件会在指定位置开始播放。
- 注解
- 该方法需要在 PlayEffect 后调用。
- 参数
-
soundId | 音效 ID。请确保与PlayEffect 中设置的 soundId 一致。 |
pos | 音效文件的播放位置,单位为毫秒。 |
- 返回
- 0: 方法调用成功
- < 0: 方法调用失败
-22(ERR_RESOURCE_LIMITED)
: 无法找到音效文件。请填写正确的 soundId
◆ GetEffectCurrentPosition()
override int agora_gaming_rtc.AudioEffectManagerImpl.GetEffectCurrentPosition |
( |
int |
soundId | ) |
|
获取指定音效文件的播放进度。
- 自从
- v3.4.2
- 注解
- 该方法需要在 PlayEffect 后调用。
- 参数
-
soundId | 音效 ID。请确保与 PlayEffect 中设置的 soundId 一致。 |
- 返回
- ≥ 0: 方法调用成功
- < 0: 方法调用失败
-22(ERR_RESOURCE_LIMITED)
: 无法找到音效文件。请填写正确的 soundId
◆ StopEffect()
override int agora_gaming_rtc.AudioEffectManagerImpl.StopEffect |
( |
int |
soundId | ) |
|
停止播放指定音效文件。
- 参数
-
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
- 返回
-
◆ StopAllEffects()
override int agora_gaming_rtc.AudioEffectManagerImpl.StopAllEffects |
( |
| ) |
|
◆ PreloadEffect()
override int agora_gaming_rtc.AudioEffectManagerImpl.PreloadEffect |
( |
int |
soundId, |
|
|
string |
filePath |
|
) |
| |
将音效文件加载至内存。
将音效文件加载至内存。为保证通信畅通,请注意控制预加载音效文件的大小,并在 JoinChannelByKey 前就使用该方法完成音效预加载。音频文件支持以下音频格式: mp3、aac、m4a、3gp,和 wav。
- 注解
- 该方法不支持在线音频文件。
- 参数
-
- 返回
-
◆ UnloadEffect()
override int agora_gaming_rtc.AudioEffectManagerImpl.UnloadEffect |
( |
int |
soundId | ) |
|
从内存释放某个预加载的音效文件。
- 参数
-
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
- 返回
-
◆ PauseEffect()
override int agora_gaming_rtc.AudioEffectManagerImpl.PauseEffect |
( |
int |
soundId | ) |
|
暂停音效文件播放。
- 参数
-
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
- 返回
-
◆ PauseAllEffects()
override int agora_gaming_rtc.AudioEffectManagerImpl.PauseAllEffects |
( |
| ) |
|
◆ ResumeEffect()
override int agora_gaming_rtc.AudioEffectManagerImpl.ResumeEffect |
( |
int |
soundId | ) |
|
恢复播放指定音效文件。
- 参数
-
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
- 返回
-
◆ ResumeAllEffects()
override int agora_gaming_rtc.AudioEffectManagerImpl.ResumeAllEffects |
( |
| ) |
|
◆ SetVoiceOnlyMode()
override int agora_gaming_rtc.AudioEffectManagerImpl.SetVoiceOnlyMode |
( |
bool |
enable | ) |
|
该方法设置仅限语音模式,即仅传输语音流,而不传输其他流,例如,敲键盘的声音等。
- 参数
-
- 返回
-
◆ SetRemoteVoicePosition()
override int agora_gaming_rtc.AudioEffectManagerImpl.SetRemoteVoicePosition |
( |
uint |
uid, |
|
|
double |
pan, |
|
|
double |
gain |
|
) |
| |
设置远端用户的语音位置。
设置远端用户声音的空间位置和音量,方便本地用户听声辨位。通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。
- 注解
-
- 参数
-
uid | 远端用户的 ID。 |
pan | 设置远端用户声音的空间位置,取值范围为 [-1.0,1.0]:
- 0.0: (默认)声音出现在正前方。
- -1.0: 声音出现在左边。
- 1.0: 声音出现在右边。
|
gain | 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 |
- 返回
-
◆ SetLocalVoicePitch()
override int agora_gaming_rtc.AudioEffectManagerImpl.SetLocalVoicePitch |
( |
double |
pitch | ) |
|
设置本地语音音调。
- 注解
- 该方法在加入频道前后都能调用。
- 参数
-
pitch | 语音频率可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 |
- 返回
-