java.lang.Object
javax.sound.sampled.Control
javax.sound.sampled.FloatControl
一个
FloatControl对象提供对一系列浮点值的控制。浮点控件通常在图形用户界面中以可连续调整的对象(如滑块或旋钮)的形式表示。FloatControl的具体子类实现了控件,例如增益和声道,这些控件以某种方式影响线路的音频信号,应用程序可以操作。内部类FloatControl.Type提供了用于标识一些常见浮点控件类型的静态实例。
FloatControl抽象类提供了设置和获取控件当前浮点值的方法。其他方法获取可能的值范围和控件的分辨率(返回值之间的最小增量)。一些浮点控件允许在指定时间段内向新值进行渐变。FloatControl还包括返回控件的最小、最大和中点位置的字符串标签的方法。
- 自从:
- 1.3
- 参见:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classFloatControl.Type内部类的一个实例标识一种浮点控件类型。 -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units) 使用给定参数构造一个新的浮点控件对象。protectedFloatControl(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获取控件值在移动过程中可以改变的最小时间间隔(以微秒为单位)。floatgetValue()获取此控件的当前值。voidsetValue(float newValue) 设置控件的当前值。voidshift(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
返回浮点控件的字符串表示形式。
-