阿里云 RTC SDK 为您提供伴奏文件和音效文件的相关接口方法,您可以通过本文了解其具体的实现方法。
伴奏文件
伴奏文件的接口方法如下所示。
- 调用 startAudioAccompany 开始混音伴奏。
//接口方法 public abstract int startAudioAccompany(String fileName, boolean onlyLocalPlay, boolean replaceMic, int loopCycles) ; //示例方法 int ret = mAliRtcEngine.startAudioAccompany(audioFileName, localPlay, replaceMic, loopCycles);
参数 | 类型 | 描述 |
fileName | String | 伴奏文件路径 |
onlyLocalPlay | boolean | 是否只本地播放,true:只本地播放;false:本地播放和推流 |
replaceMic | boolean | 是否替换麦克风采集,true:替换麦克风采集,只有伴奏声;false:与麦克风共存 |
loopCycles | int | 循环次数 |
- 调用 pauseAudioAccompany 暂停伴奏,调用成功返回 0,失败返回错误码。
说明 您需要在 startAudioAccompany 接口之后调用。
//接口方法 public abstract int pauseAudioAccompany() ; //示例方法mAliRtcEngine.pauseAudioAccompany();
- 调用 resumeAudioAccompany 恢复伴奏播放,调用成功返回 0,失败返回错误码。
说明 您可以与 pauseAudioAccompany 接口搭配使用。
//接口方法 public abstract int resumeAudioAccompany() ; //示例方法mAliRtcEngine.resumeAudioAccompany();
- 调用 stopAudioAccompany 停止伴奏播放,调用成功返回 0,失败返回错误码。
说明 调用该接口后会立刻停止伴奏播放,您可以与 startAudioAccompany 接口搭配使用。
//接口方法 public abstract int stopAudioAccompany() ; //示例方法 mAliRtcEngine.stopAudioAccompany();
- 您可以通过以下接口方法设置音量。
/** * 设置混音音量,需要在调用startAudioAccompany后才能生效 * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 */ public abstract int setAudioAccompanyVolume( int volume) ; /** * 设置混音之后推流出去的音量,需要在调用startAudioAccompany后才能生效 * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 */ public abstract int setAudioAccompanyPublishVolume(int volume) ; /** * 获取推流出去的混音音量 * @return 调用成功返回0,失败返回错误码 */ public abstract int getAudioAccompanyPublishVolume() ; /** * 设置混音之后本地播放的音量,需要在调用startAudioAccompany后才能生效 * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 */ public abstract int setAudioAccompanyPlayoutVolume(int volume) ; /** * 获取混音本地播放的音量 * @return 调用成功返回0,失败返回错误码 */ public abstract int getAudioAccompanyPlayoutVolume() ;
音效文件
音效文件的接口方法如下所示。
- 调用 preloadAudioEffect 预加载音效文件,调用成功返回 0,失败返回错误码。
说明 您设置的音效文件 ID 会进行后续操作。
//接口方法 public abstract int preloadAudioEffect(int soundId, String filePath) ; //示例方法 mAliRtcEngine.preloadAudioEffect(1, filePath);
参数 | 类型 | 描述 |
filePath | String | 伴奏文件路径(建议不包含中文) |
soundId | int | 指定的文件 ID,个数无限制 |
- 调用 unloadAudioEffect 根据预加载的音效文件 ID 删除预加载音效,调用成功返回 0,失败返回错误码。
//代码方法 public abstract int unloadAudioEffect(int soundId) ; //示例方法 mAliRtcEngine.unloadAudioEffect(soundId);
- 调用 playAudioEffect 开始播放音效,调用成功返回 0,失败返回错误码。
说明 成功调用后立即播放音效,您需要在 preloadAudioEffectWithSoundId 接口之后调用。
//接口方法 public abstract int playAudioEffect(int soundId, String filePath, int cycles, boolean publish); //示例方法 mAliRtcEngine.playAudioEffect(soundId, filePath, cycles, isPublish);
参数 | 类型 | 描述 |
soundId | int | 预加载时指定的文件 ID |
filePath | String | 音效文件路径(建议不包含中文) |
cycles | int | 循环次数 |
publish | boolean | 是否推流,false:不推流并且仅本地播放;true:本地播放和推流 |
- 调用 pauseAudioEffect 暂停音效,调用成功返回 0,失败返回错误码。
//代码方法 public abstract int pauseAudioEffect(int soundId) ; //示例方法 mAliRtcEngine.pauseAudioEffect(soundId);
- 调用 resumeAudioEffect 恢复音效,调用成功返回 0,失败返回错误码。
说明 您可以与 pauseAudioEffect 接口搭配使用。
//接口方法 public abstract int resumeAudioEffect(int soundId) ; //示例方法 mAliRtcEngine.resumeAudioEffect(soundId);
- 调用 stopAudioEffect 停止音效,调用成功返回 0,失败返回错误码。
说明 成功调用之后会立刻停止音效播放,您可以与 playAudioEffect 接口搭配使用。
//接口方法 public abstract int stopAudioEffect(int soundId) ; //示例方法 mAliRtcEngine.stopAudioEffect(soundId);
- 您可以通过以下接口方法设置音效音量。
/** * 设置音效音量 * @param soundId 音效文件ID * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 */ public abstract int setAudioEffectPublishVolume(int soundId, int volume) ; /** * 获取推流音效音量 * @param soundId 音效文件ID * @return 调用成功返回0~100音量,失败返回错误码 */ public abstract int getAudioEffectPublishVolume(int soundId) ; /** * 设置音效本地播放音量 * @param soundId 音效文件ID * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 */ public abstract int setAudioEffectPlayoutVolume(int soundId, int volume) ; /** * 获取音效本地播放音量 * @param soundId 音效文件ID * @return 调用成功返回0~100音量,失败返回错误码 */ public abstract int getAudioEffectPlayoutVolume(int soundId) ;
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。