音频滤镜
支持变声和升降调两种滤镜:
- 变声,将主播声音变为搞怪的特效处理,能够增强互动时的趣味性;金山云SDK暂支持大叔、萝莉、庄重、机器人四种效果
- 升降调,主播唱歌时伴奏(背景音乐)的特效处理,即从低沉到高亢的一个过程,更适用于较专业的唱歌直播;金山云SDK支持-3至3从低沉到高亢的7个等级的调节,0为原始音效,具体等级可根据客户业务需求做自定义处理
混响设置方法
参考代码:
CNAudioReverbFilter reverbFilter = new CNAudioReverbFilter();
reverbFilter.setReverbLevel(IStreamer.AUDIO_REVERB_LEVEL_1);
mStreamer.getAudioFilterMgt().setFilter(reverbFilter);
混响预设效果:
| 常量名 | 说明 |
|---|---|
| AUDIO_REVERB_LEVEL_1 | 录音棚 |
| AUDIO_REVERB_LEVEL_2 | KTV |
| AUDIO_REVERB_LEVEL_3 | 小舞台 |
| AUDIO_REVERB_LEVEL_4 | 演唱会 |
变声设置方法 参考代码
CNAudioEffectFilter effectFilter = new CNAudioEffectFilter(ICNAudioEffectFilter.AUDIO_EFFECT_TYPE_FEMALE);
mStreamer.getAudioFilterMgt().setFilter(effectFilter );
目前支持的变声音效类型如下:
| 常量名 | 说明 |
|---|---|
| AUDIO_EFFECT_TYPE_FEMALE | 萝莉 |
| AUDIO_EFFECT_TYPE_MALE | 大叔 |
| AUDIO_EFFECT_TYPE_HEROIC | 庄严 |
| AUDIO_EFFECT_TYPE_ROBOT | 机器人 |
升降调音效设置方法
- 创建CNAudioEffectFilter 实例,类型设置为AUDIO_EFFECT_TYPE_PITCH。
- 设置升降调 调用CNAudioEffectFilter 的setPitchLevel接口设置升级调的等级,目前支持的等级有:
/**
* pitch level from -3 to 3
*/
public static int AUDIO_PITCH_LEVEL_1 = -3;
public static int AUDIO_PITCH_LEVEL_2 = -2;
public static int AUDIO_PITCH_LEVEL_3 = -1;
public static int AUDIO_PITCH_LEVEL_4 = 0;
public static int AUDIO_PITCH_LEVEL_5 = 1;
public static int AUDIO_PITCH_LEVEL_6 = 2;
public static int AUDIO_PITCH_LEVEL_7 = 3;
参考代码
CNAudioEffectFilter audioEffectFilter = new CNAudioEffectFilter(ICNAudioEffectFilter.AUDIO_EFFECT_TYPE_PITCH);
audioEffectFilter.setPitchLevel(level);
mStreamer.getBGMAudioFilterMgt().setFilter(audioEffectFilter);
设置多种音频滤镜
List<CNAudioFilterBase> filterBases = new LinkedList<CNAudioFilterBase>();
CNAudioReverbFilter reverbFilter = new CNAudioReverbFilter();
reverbFilter.setReverbLevel(IStreamer.AUDIO_REVERB_LEVEL_1);
filterBases.add(reverbFilter);
mStreamer.getAudioFilterMgt().setFilter(filterBases);
注:所有音频滤镜的设置在推流过程中设置均可生效