阿里云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) ;