Android:VolumeShaper——音频音量控制

一,简介

  • VolumeShaper可以实现在音频应用的淡入,淡出,淡入淡出,淡入淡出以及其他短暂的自动音量转换。
  • VolumeShaper进行音量控制通过VolumeShaper.Configuration实现。
  • VolumeShaper类是在8.0的Android(API级26)和后可用。

二,创建VolumeShaper配置

参数:

参数 描述
duration(持续时间) 指定该声音的持续效果
interpolator type(插值方式)

指定声音变化的插值方式

  • VolumeShaper.Configuration.INTERPOLATOR_TYPE_STEP(分段曲线)
  • VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR(线性)
  • VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC(三次曲线)
  • VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC_MONOTONIC(单调三次曲线)
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);
发布了360 篇原创文章 · 获赞 163 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/qq_42192693/article/details/105143778