Public 成员函数 | |
double | getEffectsVolume () |
int | setEffectsVolume (double volume) |
int | setVolumeOfEffect (int soundId, double volume) |
int | playEffect (int soundId, String filePath, int loop, double pitch, double pan, double gain) |
int | playEffect (int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish) |
int | playEffect (int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish, int startPos) |
int | stopEffect (int soundId) |
int | stopAllEffects () |
int | preloadEffect (int soundId, String filePath) |
int | unloadEffect (int soundId) |
int | pauseEffect (int soundId) |
int | pauseAllEffects () |
int | resumeEffect (int soundId) |
int | resumeAllEffects () |
int | getEffectCurrentPosition (int soundId) |
int | setEffectPosition (int soundId, int pos) |
int | getEffectDuration (String filePath) |
int | startRhythmPlayer (String sound1, String sound2, AgoraRhythmPlayerConfig config) |
int | stopRhythmPlayer () |
int | configRhythmPlayer (AgoraRhythmPlayerConfig config) |
IAudioEffecManager 类,提供音效管理方法。
double io.agora.rtc.IAudioEffectManager.getEffectsVolume | ( | ) |
获取播放音效文件音量。范围为 [0.0, 100.0]。 该方法需要在 playEffect
后调用。
int io.agora.rtc.IAudioEffectManager.setEffectsVolume | ( | double | volume | ) |
int io.agora.rtc.IAudioEffectManager.setVolumeOfEffect | ( | int | soundId, |
double | volume | ||
) |
实时调整播放音效文件音量。 该方法需要在 playEffect
后调用。
soundId | 指定音效的 ID。每个音效均有唯一的 ID |
volume | 取值范围为 [0.0, 100.0]。 100.0 为默认值 |
int io.agora.rtc.IAudioEffectManager.playEffect | ( | int | soundId, |
String | filePath, | ||
int | loop, | ||
double | pitch, | ||
double | pan, | ||
double | gain | ||
) |
播放指定音效文件。
playEffect
[3/3] 方法。http
开头的在线文件,你需要在 /app/Manifests/AndroidManifest.xml
文件中添加 android:usesCleartextTraffic="true"
。playEffect
播放在线音效文件,声网建议你将在线音效文件缓存到本地设备,调用 preloadEffect
将缓存的音效文件预加载到内存中,再调用 playEffect
播放音效。否则,可能出现因在线音效文件加载超时、加载失败而导致的播放失败和无声的问题。soundId | 指定音效的 ID。每个音效均有唯一的 ID。如果你已通过 preloadEffect 将音效加载至内存,确保这里的 soundID 与 preloadEffect 设置的 soundID 相同。 |
filePath | 音效文件的绝对路径 |
loop | 设置音效循环播放的次数:
|
pitch | 设置音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示不需要修改音调。取值越小,则音调越低。 |
pan | 设置是否改变音效的空间位置。取值范围为 [-1.0,1.0]:
|
gain | 设置是否改变单个音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0。取值越小,则音效的音量越低 |
int io.agora.rtc.IAudioEffectManager.playEffect | ( | int | soundId, |
String | filePath, | ||
int | loopCount, | ||
double | pitch, | ||
double | pan, | ||
double | gain, | ||
boolean | publish | ||
) |
播放指定音效文件。
该方法播放指定的本地或在线音效文件。你可以在该方法中设置音效文件的播放次数、音调、音效的空间位置和增益,以及远端用户是否能听到该音效。
playEffect
[3/3]。该方法需要在加入频道后调用。你可以多次调用该方法,通过传入不同的音效文件的 soundId
和 filePath
,同时播放多个音效文件,实现音效叠加。 为获得最佳用户体验,我们建议同时播放的音效文件不要超过 3 个。
调用该方法播放音效结束后,SDK 会触发 onAudioEffectFinished
回调。
http
开头的在线文件,你需要在 /app/Manifests/AndroidManifest.xml
文件中添加 android:usesCleartextTraffic="true"
。playEffect
播放在线音效文件,声网建议你将在线音效文件缓存到本地设备,调用 preloadEffect
将缓存的音效文件预加载到内存中,再调用 playEffect
播放音效。否则,可能出现因在线音效文件加载超时、加载失败而导致的播放失败和无声的问题。soundId | 音效的 ID。每个音效均有唯一的 ID。 如果你已通过 preloadEffect 将音效加载至内存,确保这里的 soundID 与 preloadEffect 设置的 soundId 相同。 |
filePath | 音效文件的文件路径,需精确到文件名及后缀。 支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。 Note 通过绝对路径访问本地文件可能会遇到权限问题,声网推荐使用 URI 地址访问本地文件。例如:"content://com.android.providers.media.documents/document/audio%3A14441"。 如果你已通过 preloadEffect 将音效加载至内存,请确保该参数与 preloadEffect 中设置的 filePath 相同。 |
loopCount | 音效循环播放的次数:
|
pitch | 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示不需要修改音调。取值越小,则音调越低。 |
pan | 音效的空间位置。取值范围为 [-1.0,1.0]:
|
gain | 单个音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0。取值越小,则音效的音量越低。 |
publish | 是否将音效传到远端:
|
int io.agora.rtc.IAudioEffectManager.playEffect | ( | int | soundId, |
String | filePath, | ||
int | loopCount, | ||
double | pitch, | ||
double | pan, | ||
double | gain, | ||
boolean | publish, | ||
int | startPos | ||
) |
播放指定的本地或在线音效文件。
你可以多次调用该方法,传入不同的 soundId
和 filePath
,同时播放多个音效文件。为获得最佳用户体验,声网推荐同时播放的音效文件不超过 3 个。
音效文件播放结束后,SDK 会触发 onAudioEffectFinished
回调。
http
开头的在线文件,你需要在 /app/Manifests/AndroidManifest.xml
文件中添加 android:usesCleartextTraffic="true"
。playEffect
播放在线音效文件,声网建议你将在线音效文件缓存到本地设备,调用 preloadEffect
将缓存的音效文件预加载到内存中,再调用 playEffect
播放音效。否则,可能出现因在线音效文件加载超时、加载失败而导致的播放失败和无声的问题。soundId | 音效的 ID。每个音效均有唯一的 ID。如果你已通过 preloadEffect 将音效加载至内存,确保这里的 soundID 与 preloadEffect 设置的 soundId 相同。 |
filePath | 音效文件的文件路径,需精确到文件名及后缀。 支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。 Note 通过绝对路径访问本地文件可能会遇到权限问题,声网推荐使用 URI 地址访问本地文件。例如:"content://com.android.providers.media.documents/document/audio%3A14441"。 如果你已通过 preloadEffect 将音效加载至内存,请确保该参数与 preloadEffect 中设置的 filePath 相同。 |
loopCount | 音效循环播放的次数:
|
pitch | 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 |
pan | 音效的空间位置。取值范围为 [-1.0,1.0]:
|
gain | 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 |
publish | 是否将音效传到远端:
|
startPos | 音效文件的播放位置,单位为毫秒。 |
int io.agora.rtc.IAudioEffectManager.stopEffect | ( | int | soundId | ) |
停止播放指定音效文件。
soundId | 指定音效的 ID。每个音效均有唯一的 ID。如果你已通过 preloadEffect 将音效加载至内存,确保这里的 soundID 与 preloadEffect 设置的 soundID 相同。 |
int io.agora.rtc.IAudioEffectManager.stopAllEffects | ( | ) |
停止播放所有音效文件。
int io.agora.rtc.IAudioEffectManager.preloadEffect | ( | int | soundId, |
String | filePath | ||
) |
预加载音效文件。
soundId | 指定音效的 ID。每个音效均有唯一的 ID |
filePath | 本地音效文件的路径,需精确到文件名及后缀。 支持本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。 Note 通过绝对路径访问本地文件可能会遇到权限问题,声网推荐使用 URI 地址访问本地文件。例如:"content://com.android.providers.media.documents/document/audio%3A14441"。 |
int io.agora.rtc.IAudioEffectManager.unloadEffect | ( | int | soundId | ) |
释放音效文件。
soundId | 指定音效的 ID。每个音效均有唯一的 ID |
int io.agora.rtc.IAudioEffectManager.pauseEffect | ( | int | soundId | ) |
暂停音效文件播放。
soundId | 指定音效的 ID。每个音效均有唯一的 ID |
int io.agora.rtc.IAudioEffectManager.pauseAllEffects | ( | ) |
暂停所有音效文件播放。
int io.agora.rtc.IAudioEffectManager.resumeEffect | ( | int | soundId | ) |
恢复播放指定音效文件。
soundId | 指定音效的 ID。每个音效均有唯一的 ID |
int io.agora.rtc.IAudioEffectManager.resumeAllEffects | ( | ) |
恢复播放所有音效文件。
int io.agora.rtc.IAudioEffectManager.getEffectCurrentPosition | ( | int | soundId | ) |
获取指定音效文件的播放进度。
playEffect
后调用。soundId | 音效 ID。请确保与 playEffect 中设置的 soundId 一致。 |
int io.agora.rtc.IAudioEffectManager.setEffectPosition | ( | int | soundId, |
int | pos | ||
) |
设置指定音效文件的播放位置。
成功设置后,本地音效文件会在指定位置开始播放。
playEffect
后调用。soundId | 音效 ID。请确保与 playEffect 中设置的 soundId 一致。 |
pos | 音效文件的播放位置,单位为毫秒。 |
int io.agora.rtc.IAudioEffectManager.getEffectDuration | ( | String | filePath | ) |
获取指定音频文件信息。
成功调用该方法后,SDK 会触发 onRequestAudioFileInfo
回调,报告指定音频文件的时长等信息。你可以多次调用该方法,获取多个音频文件的信息。
getEffectDuration
的行为从“获取指定音效文件总时长”变更为“获取音频文件信息”。filePath | 文件路径,需精确到文件名及后缀。 支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。 Note: 通过绝对路径访问本地文件可能会遇到权限问题,声网推荐使用 URI 地址访问本地文件。 例如:content://com.android.providers.media.documents/document/audio%3A14441 。 |
int io.agora.rtc.IAudioEffectManager.startRhythmPlayer | ( | String | sound1, |
String | sound2, | ||
AgoraRhythmPlayerConfig | config | ||
) |
开启虚拟节拍器。
在音乐教学、体育教学等场景中,老师通常需要使用节拍器,让学生跟着正确的节拍练习。 节拍由强拍和弱拍组成,每小节的第一拍称为强拍,其余称为弱拍。 你需要在该方法中设置强拍和弱拍的文件路径、每小节的拍数、节拍速度以及是否将节拍器的声音发送至远端。
beatsPerMinute
控制每个文件的播放时长。例如,将 beatsPerMinute
设为 60
,则 SDK 会 1 秒播放 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。sound1 | 强拍文件的绝对路径,需精确到文件名及后缀。例如:/sdcard/emulated/0/audio.mp4 。 |
sound2 | 弱拍文件的绝对路径,需精确到文件名及后缀。例如:/sdcard/emulated/0/audio.mp4 。 |
config | 节拍器配置,详见 AgoraRhythmPlayerConfig 。 |
int io.agora.rtc.IAudioEffectManager.stopRhythmPlayer | ( | ) |
关闭虚拟节拍器。
调用 startRhythmPlayer
后,你可以调用该方法关闭虚拟节拍器。
int io.agora.rtc.IAudioEffectManager.configRhythmPlayer | ( | AgoraRhythmPlayerConfig | config | ) |
配置虚拟节拍器。
调用 startRhythmPlayer
后,你可以调用该方法重新配置虚拟节拍器。
beatsPerMinute
控制每个文件的播放时长。例如,将 beatsPerMinute
设为 60,则 SDK 会 1 秒播放 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。config | 节拍器配置,详见 AgoraRhythmPlayerConfig 。 |