- java.lang.Object
-
- javax.sound.sampled.Control
-
- javax.sound.sampled.FloatControl
-
public abstract class FloatControl extends Control
FloatControl对象提供对一系列浮点值的控制。 浮动控件通常通过连续可调的对象(如滑块或旋钮)在图形用户界面中进行表示。FloatControl具体子类实现了以应用程序可以操作的某种方式影响线路音频信号的控制,例如增益和平移。FloatControl.Type内部类提供了用于识别一些常见类型的浮点控件的类型的静态实例。FloatControl抽象类提供了设置和获取控件当前浮点值的方法。 其他方法可以获得值的可能范围和控制分辨率(返回值之间的最小增量)。 一些浮动控件允许在指定的时间内斜坡上升到一个新的值。FloatControl还包括返回控件的最小,最大和中点位置的字符串标签的方法。- 从以下版本开始:
- 1.3
- 另请参见:
-
Line.getControls(),Line.isControlSupported(javax.sound.sampled.Control.Type)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static classFloatControl.TypeFloatControl.Type内部类的实例标识一种浮动控件。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protectedFloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)使用给定的参数构造一个新的float控件对象。protectedFloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel)使用给定的参数构造一个新的float控件对象。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 floatgetMaximum()获得允许的最大值。StringgetMaxLabel()获取最大值的标签,例如“Right”或“Full”。StringgetMidLabel()获取中点值的标签,例如“中心”或“默认”。floatgetMinimum()获得允许的最小值。StringgetMinLabel()获取最小值的标签,例如“左”或“关”。floatgetPrecision()以控制措施的单位获得控制的决议或粒度。StringgetUnits()获取表示控件值的单位的标签,例如“dB”或“每秒帧数”。intgetUpdatePeriod()获取最小时间间隔(以微秒为单位),控制的值可以在换档期间改变。floatgetValue()获取此控件的当前值。voidsetValue(float newValue)设置控件的当前值。voidshift(float from, float to, int microseconds)在指定的时间段内将控制值从初始值线性改变为最终值,以微秒为单位。StringtoString()提供控件的字符串表示形式。
-
-
-
构造方法详细信息
-
FloatControl
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel)
使用给定的参数构造一个新的float控件对象。- 参数
-
type- 由此浮动控件对象表示的控件种类 -
minimum- 控制允许的最小值 -
maximum- 控制允许的最大值 -
precision- 控件的分辨率或粒度。 这是离散有效值之间的增量的大小。 -
updatePeriod-最小时间间隔,以微秒,在其上的控制可以从一个离散值的过程中改变到下一个shift -
initialValue- 构建时控件开始的值 -
units- 表示控制值的单位的标签,例如“dB”或“每秒帧数” -
minLabel- 最小值的标签,例如“左”或“关” -
midLabel- 中点值的标签,如“中心”或“默认” -
maxLabel- 最大值的标签,例如“Right”或“Full” - 异常
-
IllegalArgumentException- 如果minimum大于maximum或initialValue不在允许范围内
-
FloatControl
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)
使用给定的参数构造一个新的float控件对象。 最小值,最大值和中点值的标签设置为零长度字符串。- 参数
-
type- 由此浮动控件对象表示的控件种类 -
minimum- 控制允许的最小值 -
maximum- 控制允许的最大值 -
precision- 控件的分辨率或粒度。 这是离散有效值之间的增量的大小。 -
updatePeriod- 在updatePeriod期间控制可以从一个离散值改变到下一个的最小时间间隔(以微秒为 单位) -
initialValue- 构造时控件开始的值 -
units- 表示控制值的单位的标签,例如“dB”或“每秒帧数” - 异常
-
IllegalArgumentException- 如果minimum大于maximum或initialValue不在允许范围内
-
-
方法详细信息
-
setValue
public void setValue(float newValue)
设置控件的当前值。 默认实现只是按照指示设置值。 如果指示的值大于最大值或小于最小值,则抛出IllegalArgumentException。 一些控件要求在打开它们的行之前,通过设置值来影响它们的行。- 参数
-
newValue- 所需的新值 - 异常
-
IllegalArgumentException- 如果指示的值不在容许范围内
-
getValue
public float getValue()
获取此控件的当前值。- 结果
- 当前值
-
getMaximum
public float getMaximum()
获得允许的最大值。- 结果
- 最大允许值
-
getMinimum
public float getMinimum()
获得允许的最小值。- 结果
- 最小允许值
-
getUnits
public String getUnits()
获取表示控件值的单位的标签,例如“dB”或“每秒帧数”。- 结果
- 单位标签,如果没有标签,则为零长度字符串
-
getMinLabel
public String getMinLabel()
获取最小值的标签,例如“左”或“关”。- 结果
- 最小值标签,如果没有设置标签,则为零长度字符串
-
getMidLabel
public String getMidLabel()
获取中点值的标签,例如“中心”或“默认”。- 结果
- 中点值标签,如果没有设置标签,则为零长度字符串
-
getMaxLabel
public String getMaxLabel()
获取最大值的标签,例如“Right”或“Full”。- 结果
- 最大值标签或未设置标签的零长度字符串
-
getPrecision
public float getPrecision()
以控制措施的单位获得控制的决议或粒度。 精度是此控件的离散有效值之间的增量大小,超出了支持的浮点值集合。- 结果
- 控制精度
-
getUpdatePeriod
public int getUpdatePeriod()
获取最小时间间隔(以微秒为单位),控制的值可以在换档期间改变。 更新周期是在换档期间控制更新其值的频率的倒数。 如果实现不支持随时间变化的值,则应将控件的值立即设置为最终值,并从该方法返回-1。- 结果
- 更新周期(以微秒为单位),如果不随时间变化,则为-1
- 另请参见:
-
shift(float, float, int)
-
shift
public void shift(float from, float to, int microseconds)在指定的时间段内将控制值从初始值线性改变为最终值,以微秒为单位。 此方法返回而不阻塞; 它不等待转移完成。 一个实现应该在指定的时间内完成操作。 默认实现只是将值立即更改为最终值。- 参数
-
from- 班次开始时的初始值 -
to- 移位后的最终值 -
microseconds- 以微秒为单位的最大持续时间 - 异常
-
IllegalArgumentException- 如果from或to值不在允许范围内 - 另请参见:
-
getUpdatePeriod()
-
-