您可以在音频应用中使用 VolumeShaper 类在 Android 8.0(API 级别 26)及更高版本中可用。
您可以通过对 createVolumeShaper() 来创建 VolumeShaper。VolumeShaper 仅对创建它的 AudioTrack 或 MediaPlayer 生成的音频起作用。
注意:在本页中,术语“shaper”指的是 VolumeShaper 的一个实例。
VolumeShaper.Configuration
VolumeShaper 的行为由它的
音量曲线
音量曲线表示振幅随时间的变化。它由一对浮点数的数组 x[] 和 y[] 定义,该数组定义了一系列控制点。每个 (x, y) 对分别表示时间和音量。这些数组的长度必须相等,并且包含 2 到 16 个值。(最大曲线长度在
时间坐标在 [0.0, 1.0] 的区间内指定。第一个时间点必须为 0.0,最后一个时间点必须为 1.0,并且时间必须单调递增。
音量坐标在 [0.0, 1.0] 区间内按线性调整的方式指定。
插值器类型
音量曲线始终会通过指定的控制点。控制点之间的值由样条曲线根据配置的插值器类型派生而来。可用的 VolumeShaper 插值器类型有四个常量:
VolumeShaper.Configuration.INTERPOLATOR_TYPE_STEP
VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR
VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC
VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC_MONOTONIC
持续时间
区间 [0.0, 1.0] 内