JavaTM Platform
Standard Ed. 6

javax.sound.sampled
类 FloatControl

java.lang.Object
  继承者 javax.sound.sampled.Control
      继承者 javax.sound.sampled.FloatControl

public abstract class FloatControl
extends Control

FloatControl 对象提供对浮点值范围的控制。Float 控件常常通过滑块或旋钮之类的可连续调节对象在图形用户界面中表示。FloatControl 的具体子类实现诸如 gain 和 pan 之类的控件,这些控件会以应用程序可以操作的方式影响行的音频信号。FloatControl.Type 内部类提供用于标识一些常见 float 控件的那些类型的静态实例。

FloatControl 抽象类提供设置和获取控件的当前浮点值的方法。其他方法获得可能的值范围和控件的分辨率(所返回值之间的最小增量)。一些 float 控件允许将新值延伸至指定时间段。FloatControl 还包括一些方法,这些方法返回用于该控件的最大、最小和中点位置的字符串标签。

从以下版本开始:
1.3
另请参见:
Line.getControls(), Line.isControlSupported(javax.sound.sampled.Control.Type)

嵌套类摘要
static class FloatControl.Type
          FloatControl.Type 内部类的实例标识了某种 float 控件。
 
构造方法摘要
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units)
          构造具有给定参数的新 float 控件对象。
protected FloatControl(FloatControl.Type type, float minimum, float maximum, float precision, int updatePeriod, float initialValue, String units, String minLabel, String midLabel, String maxLabel)
          构造具有给定参数的新 float 控件对象
 
方法摘要
 float getMaximum()
          获得所允许的最大值。
 String getMaxLabel()
          获得最大值的标签,如 "Right" 或 "Full"。
 String getMidLabel()
          获得中点值的标签,如 "Center" 或 "Default"。
 float getMinimum()
          获得所允许的最小值。
 String getMinLabel()
          获得最小值的标签,如 "Left" 或 "Off"。
 float getPrecision()
          获得该控件的分辨率或粒度,以该控件测量的单位为准。
 String getUnits()
          获得表示控件值的单位标签,如 "dB" 或 "frames per second"。
 int getUpdatePeriod()
          获得最小时间间隔(以微秒为单位),在此段时间内,控件值可以在移动期间更改。
 float getValue()
          获得此控件的当前值。
 void setValue(float newValue)
          设置控件的当前值。
 void shift(float from, float to, int microseconds)
          在整个指定的时间内线性地将控件值从初始值更改为最终值,以微秒为单位进行指定。
 String toString()
          提供控件的字符串表示形式
 
从类 javax.sound.sampled.Control 继承的方法
getType
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

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 - 由此 float 控件对象表示的控件种类
minimum - 该控件允许的最小值
maximum - 该控件允许的最大值
precision - 该控件的分辨率或粒度。这是离散有效值之间的增量大小。
updatePeriod - 最小时间间隔(以微秒为单位),在此段时间内,控件可以在 shift 期间从一个离散值更改为下一个离散值
initialValue - 构造控件时该控件的起始值
units - 用来表示控件值的单位的标签,如 "dB" 或 "frames per second"
minLabel - 最小值的标签,如 "Left" 或 "Off"
midLabel - 中点值的标签,如 "Center" 或 "Default"
maxLabel - 最大值的标签,如 "Right" 或 "Full"

FloatControl

protected FloatControl(FloatControl.Type type,
                       float minimum,
                       float maximum,
                       float precision,
                       int updatePeriod,
                       float initialValue,
                       String units)
构造具有给定参数的新 float 控件对象。将最小、最大和中点值的标签设置为零长度字符串。

参数:
type - 由此 float 控件对象表示的控件种类
minimum - 该控件允许的最小值
maximum - 该控件允许的最大值
precision - 该控件的分辨率或粒度。这是离散有效值之间的增量大小。
updatePeriod - 最小时间间隔(以微秒为单位),在此段时间内,控件可以在 shift 期间从一个离散值更改为下一个离散值
initialValue - 构造控件时该控件的起始值
units - 表示控件值的音位标签,如 "dB" 或 "frames per second"
方法详细信息

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" 或 "frames per second"。

返回:
单位标签;如果没有标签,则返回零长度字符串

getMinLabel

public String getMinLabel()
获得最小值的标签,如 "Left" 或 "Off"。

返回:
最小值标签;如果没有设置标签,则返回零长度字符串

getMidLabel

public String getMidLabel()
获得中点值的标签,如 "Center" 或 "Default"。

返回:
中点值标签;如果没有设置标签,则返回零长度字符串

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 - 移动持续的最长时间(以微秒为单位)
另请参见:
getUpdatePeriod()

toString

public String toString()
提供控件的字符串表示形式

覆盖:
Control 中的 toString
返回:
字符串描述

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策