- 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)
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static classFloatControl.TypeFloatControl.Type内部类的实例标识一种浮点控件。
-
构造方法摘要
构造方法 变量 构造器 描述 protectedFloatControl(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)使用给定参数构造一个新的浮点控件对象。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 floatgetMaximum()获得允许的最大值。StringgetMaxLabel()获得最大值的标签,例如“Right”或“Full”。StringgetMidLabel()获得中点值的标签,例如“中心”或“默认”。floatgetMinimum()获得允许的最小值。StringgetMinLabel()获得最小值的标签,例如“Left”或“Off”。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)
使用给定参数构造一个新的浮点控件对象。- 参数
-
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()
-
-