- java.lang.Object
-
- javax.sound.sampled.Control
-
- javax.sound.sampled.FloatControl
-
public abstract class FloatControlextends Control
FloatControl
对象提供对一系列浮点值的控制。 浮动控件通常通过连续可调节的对象(例如滑块或旋钮)在图形用户界面中表示。FloatControl
具体子类实现了控制,例如增益和平移,它们以某种方式影响线路的音频信号,应用程序可以通过它来操作。FloatControl.Type
内部类提供了用于标识某些常见浮点型控件的类型的静态实例。FloatControl
抽象类提供了设置和获取控件的当前浮点值的方法。 其他方法获得可能的值范围和控件的分辨率(返回值之间的最小增量)。 某些浮动控件允许在指定的时间段内渐变到新值。FloatControl
还包括返回控件的最小,最大和中点位置的字符串标签的方法。- 从以下版本开始:
- 1.3
- 另请参见:
-
Line.getControls()
,Line.isControlSupported(javax.sound.sampled.Control.Type)
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
FloatControl.Type
FloatControl.Type
内部类的实例标识一种浮点控件。
-
构造方法摘要
构造方法 变量 构造器 描述 protected
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)
使用给定参数构造一个新的浮点控件对象。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 float
getMaximum()
获得允许的最大值。String
getMaxLabel()
获得最大值的标签,例如“Right”或“Full”。String
getMidLabel()
获得中点值的标签,例如“中心”或“默认”。float
getMinimum()
获得允许的最小值。String
getMinLabel()
获得最小值的标签,例如“Left”或“Off”。float
getPrecision()
以控件测量的单位获得控件的分辨率或粒度。String
getUnits()
获得表示控件值的单位的标签,例如“dB”或“每秒帧数”。int
getUpdatePeriod()
获得控制值在移位期间可以改变的最小时间间隔(以微秒为单位)。float
getValue()
获得此控件的当前值。void
setValue(float newValue)
设置控件的当前值。void
shift(float from, float to, int microseconds)
在指定的时间段内将控制值从初始值线性更改为最终值,以微秒为单位。String
toString()
提供控件的字符串表示形式。
-
-
-
构造方法详细信息
-
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
- 在updatePeriod
期间控制可以从一个离散值更改为下一个离散值的最小时间间隔(以微秒为 单位) -
initialValue
- 控件在构造时开始的值 -
units
- 表示控件值的单位的标签,例如“dB”或“每秒帧数” -
minLabel
- 最小值的标签,例如“Left”或“Off” -
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)
使用给定参数构造一个新的浮点控件对象。 最小值,最大值和中点值的标签设置为零长度字符串。- 参数
-
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()
获得最小值的标签,例如“Left”或“Off”。- 结果
- 最小值标签,如果没有设置标签,则为零长度字符串
-
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()
-
-