java.lang.Object
javax.sound.sampled.Control
javax.sound.sampled.FloatControl
一个
FloatControl
对象提供对一系列浮点值的控制。浮点控件通常在图形用户界面中以可连续调整的对象(如滑块或旋钮)的形式表示。FloatControl
的具体子类实现了控件,例如增益和声道,这些控件以某种方式影响线路的音频信号,应用程序可以操作。内部类FloatControl.Type
提供了用于标识一些常见浮点控件类型的静态实例。
FloatControl
抽象类提供了设置和获取控件当前浮点值的方法。其他方法获取可能的值范围和控件的分辨率(返回值之间的最小增量)。一些浮点控件允许在指定时间段内向新值进行渐变。FloatControl
还包括返回控件的最小、最大和中点位置的字符串标签的方法。
- 自从:
- 1.3
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
FloatControl.Type
内部类的一个实例标识一种浮点控件类型。 -
Constructor Summary
ModifierConstructorDescriptionprotected
FloatControl
(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units) 使用给定参数构造一个新的浮点控件对象。protected
FloatControl
(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel) 使用给定参数构造一个新的浮点控件对象。 -
Method Summary
Modifier and TypeMethodDescriptionfloat
获取允许的最大值。获取最大值的标签,例如“右”或“全”。获取中点值的标签,例如“中心”或“默认”。float
获取允许的最小值。获取最小值的标签,例如“左”或“关闭”。float
获取控件的分辨率或粒度,以控件测量的单位为单位。getUnits()
获取控件值表达的单位的标签,例如“dB”或“每秒帧数”。int
获取控件值在移动过程中可以改变的最小时间间隔(以微秒为单位)。float
getValue()
获取此控件的当前值。void
setValue
(float newValue) 设置控件的当前值。void
shift
(float from, float to, int microseconds) 在指定的时间段内,线性地从初始值更改控件值到最终值,时间段以微秒为单位指定。toString()
返回浮点控件的字符串表示形式。
-
Constructor Details
-
FloatControl
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel) 使用给定参数构造一个新的浮点控件对象。- 参数:
-
type
- 此浮点控件对象表示的控件类型 -
minimum
- 控件允许的最小值 -
maximum
- 控件允许的最大值 -
precision
- 控件的分辨率或粒度。这是离散有效值之间增量的大小。 -
updatePeriod
- 控件在一个shift
期间从一个离散值变为下一个离散值的最小时间间隔(以微秒为单位) -
initialValue
- 构造时控件开始的值 -
units
- 控件值表达的单位的标签,例如“dB”或“每秒帧数” -
minLabel
- 最小值的标签,例如“左”或“关闭” -
midLabel
- 中点值的标签,例如“中心”或“默认” -
maxLabel
- 最大值的标签,例如“右”或“全” - 抛出:
-
IllegalArgumentException
- 如果minimum
大于maximum
或initialValue
不在允许范围内
-
FloatControl
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units) 使用给定参数构造一个新的浮点控件对象。最小值、最大值和中点值的标签设置为零长度字符串。- 参数:
-
type
- 此浮点控件对象表示的控件类型 -
minimum
- 控件允许的最小值 -
maximum
- 控件允许的最大值 -
precision
- 控件的分辨率或粒度。这是离散有效值之间增量的大小。 -
updatePeriod
- 控件在一个shift
期间从一个离散值变为下一个离散值的最小时间间隔(以微秒为单位) -
initialValue
- 构造时控件开始的值 -
units
- 控件值表达的单位的标签,例如“dB”或“每秒帧数” - 抛出:
-
IllegalArgumentException
- 如果minimum
大于maximum
或initialValue
不在允许范围内
-
-
Method Details
-
setValue
public void setValue(float newValue) 设置控件的当前值。默认实现只是设置所指示的值。如果指示的值大于最大值或小于最小值,则会抛出IllegalArgumentException
。某些控件要求它们的线路在受影响之前必须处于打开状态。- 参数:
-
newValue
- 所需的新值 - 抛出:
-
IllegalArgumentException
- 如果指示的值不在允许范围内
-
getValue
public float getValue()获取此控件的当前值。- 返回:
- 当前值
-
getMaximum
public float getMaximum()获取允许的最大值。- 返回:
- 最大允许值
-
getMinimum
public float getMinimum()获取允许的最小值。- 返回:
- 最小允许值
-
getUnits
获取控件值表达的单位的标签,例如“dB”或“每秒帧数”。- 返回:
- 单位标签,如果没有标签则为零长度字符串
-
getMinLabel
获取最小值的标签,例如“左”或“关闭”。- 返回:
- 最小值标签,如果未设置标签则为零长度字符串
-
getMidLabel
获取中点值的标签,例如“中心”或“默认”。- 返回:
- 中点值标签,如果未设置标签则为零长度字符串
-
getMaxLabel
获取最大值的标签,例如“右”或“全”。- 返回:
- 最大值标签,如果未设置标签则为零长度字符串
-
getPrecision
public float getPrecision()获取控件的分辨率或粒度,以控件测量的单位为单位。精度是控件支持的一组浮点值的离散有效值之间的增量大小。- 返回:
- 控件的精度
-
getUpdatePeriod
public int getUpdatePeriod()获取控件值在移动过程中可以改变的最小时间间隔(以微秒为单位)。更新周期是控件在移动过程中更新其值的频率的倒数。如果实现不支持随时间变化的值移动,则应立即将控件的值设置为最终值,并从此方法返回-1。- 返回:
- 更新周期(以微秒为单位),如果不支持随时间变化的移动,则为-1
- 参见:
-
shift
public void shift(float from, float to, int microseconds) 从初始值线性地更改控件值到最终值,指定的时间段内以微秒为单位。此方法返回而不阻塞;它不等待移动完成。实现应在指定的时间内完成操作。默认实现只是立即将值更改为最终值。- 参数:
-
from
- 移动开始时的初始值 -
to
- 移动后的最终值 -
microseconds
- 移动的最大持续时间(以微秒为单位) - 抛出:
-
IllegalArgumentException
- 如果from
或to
值不在允许范围内 - 参见:
-
toString
返回浮点控件的字符串表示形式。
-