一,简介
- VolumeShaper可以实现在音频应用的淡入,淡出,淡入淡出,淡入淡出以及其他短暂的自动音量转换。
- VolumeShaper进行音量控制通过VolumeShaper.Configuration实现。
- VolumeShaper类是在8.0的Android(API级26)和后可用。
二,创建VolumeShaper配置
参数:
参数 | 描述 |
duration(持续时间) | 指定该声音的持续效果 |
interpolator type(插值方式) | 指定声音变化的插值方式
|
volume curve(音量曲线) | 指定音量变化的曲线,需要两个长度相同的数组
|
VolumeShaper.Configuration config =
new VolumeShaper.Configuration.Builder()
.setDuration(5000*20)
.setCurve(new float[] {0f,0.2f ,0.4f ,0.6f ,0.8f ,1f}, new float[] {0f, 1f,0f,1f,0f,1f})
.setInterpolatorType(VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR)
.build();
三,创建VolumeShaper
MediaPlayer mediaPlayer = MediaPlayer.create(this,R.raw.l);
VolumeShaper volumeShaper = mediaPlayer.createVolumeShaper(config);//添加配置
四,启动VolumeShaper
mediaPlayer.start();
volumeShaper.apply(VolumeShaper.Operation.PLAY);