IAudioEffecManager

最近更新时间:2022-09-20 05:17:40

Public 成员函数
doublegetEffectsVolume ()
intsetEffectsVolume (double volume)
intsetVolumeOfEffect (int soundId, double volume)
intplayEffect (int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish)
intstopEffect (int soundId)
intstopAllEffects ()
intpreloadEffect (int soundId, String filePath)
intunloadEffect (int soundId)
intpauseEffect (int soundId)
intpauseAllEffects ()
intresumeEffect (int soundId)
intresumeAllEffects ()

详细描述

IAudioEffecManager 类,提供音效管理方法。

成员函数说明

getEffectsVolume()

double IAudioEffectManager.getEffectsVolume()

获取播放音效文件音量。范围为 [0.0, 100.0]。

返回

  • 方法调用成功则返回音量值
  • < 0:方法调用失败

setEffectsVolume

int IAudioEffectManager.setEffectsVolume(double volume)

设置播放音效文件音量。

参数描述
volume取值范围为 [0.0, 100.0]。 100.0 为默认值

返回

  • 0:方法调用成功
  • < 0:方法调用失败

setVolumeOfEffect()

int setVolumeOfEffect(int soundId,double volume)    

实时调整播放音效文件音量。

参数描述
soundId指定音效的 ID。每个音效均有唯一的 ID
volume取值范围为 [0.0, 100.0]。 100.0 为默认值

返回

  • 0:方法调用成功
  • < 0:方法调用失败

playEffect()

int playEffect(int soundId,
                String filePath,
                int loopCount,
                double pitch,
                double pan,
                double gain,
                boolean publish)    

播放指定音效文件。 该方法播放指定的本地或在线音效文件。你可以在该方法中设置音效文件的播放次数、音调、音效的空间位置和增益,以及远端用户是否能听到该音效。

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

调用该方法播放音效结束后,SDK 会触发 onAudioEffectFinished 回调。

参数描述
soundId指定音效的 ID。每个音效均有唯一的 ID。如果你已通过 preloadEffect 将音效加载至内存,确保这里的 soundID 与 preloadEffect 设置的 soundID 相同。
filePath待播放的音效文件的绝对路径或 URL 地址。如 /sdcard/emulated/0/audio.mp4。建议填写文件后缀名。若无法确定文件后缀名,可不填。
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:音效在本地播放的同时,会发布到 AR 云上,因此远端用户也能听到该音效
false:音效不会发布到 AR 云上,因此只能在本地听到该音效

返回

  • 0:方法调用成功
  • < 0:方法调用失败

stopEffect()

int stopEffect  (int soundId)   

停止播放指定音效文件。

参数描述
soundId指定音效的 ID。每个音效均有唯一的 ID。如果你已通过 preloadEffect 将音效加载至内存,确保这里的 soundID 与 preloadEffect 设置的 soundID 相同。

返回

  • 0:方法调用成功
  • < 0:方法调用失败

stopAllEffects()

停止播放所有音效文件。

返回

  • 0:方法调用成功
  • < 0:方法调用失败

stopAllEffects()

int stopAllEffects  ()

停止播放所有音效文件。

返回

  • 0:方法调用成功
  • <0:方法调用失败

preloadEffect()

int preloadEffect(int soundId,String filePath)  

预加载音效文件。

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

注解

该方法不支持预加载在线音效文件。

参数描述
soundId指定音效的 ID。每个音效均有唯一的 ID
filePath音效文件的绝对路径

返回

  • 0:方法调用成功
  • < 0:方法调用失败

unloadEffect()

int unloadEffect(int soundId)

释放音效文件。

参数描述
soundId指定音效的 ID。每个音效均有唯一的 ID

返回

  • 0:方法调用成功
  • < 0:方法调用失败

pauseEffect()

int pauseEffect (int soundId)

暂停音效文件播放。

参数描述
soundId指定音效的 ID。每个音效均有唯一的 ID

返回

  • 0:方法调用成功
  • <0:方法调用失败

pauseAllEffects()

int pauseAllEffects ()

暂停所有音效文件播放。

返回

  • 0:方法调用成功
  • < 0:方法调用失败

resumeEffect()

int resumeEffect(int soundId)

恢复播放指定音效文件。

参数描述
soundId指定音效的 ID。每个音效均有唯一的 ID

返回

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

resumeAllEffects()

int resumeAllEffects()

恢复播放所有音效文件。

返回

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