FloatControl
FloatControl
실수(소수) 값을 가지는 컨트롤을 나타내는 추상 클래스예요. 예를 들어 오디오 볼륨, 팬 위치 같은 값을 제어하는 데 사용돼요.
본문
javax.sound.sampled 패키지에 속하는 추상 클래스로, Control을 상속해요. 실수형 컨트롤은 최솟값과 최댓값 사이의 연속적인 값을 가지며, 정밀도에 따라 단계적으로 바뀔 수 있어요.
public abstract class FloatControl extends Control
생성자
protected FloatControl(FloatControl.Type type, float minimum, float maximum,
float precision, int updatePeriod, float initialValue)
지정된 유형, 범위, 정밀도로 새 실수형 컨트롤을 생성해요.
- 파라미터
type: 컨트롤 유형 - 파라미터
minimum: 컨트롤의 최솟값 - 파라미터
maximum: 컨트롤의 최댓값 - 파라미터
precision: 컨트롤 값의 정밀도(단계 크기) - 파라미터
updatePeriod: 컨트롤이 갱신되는 주기(마이크로초). 0이면 즉시 갱신 - 파라미터
initialValue: 컨트롤의 초기 값
protected FloatControl(FloatControl.Type type, float minimum, float maximum,
float precision, int updatePeriod, float initialValue,
String units, String minLabel, String maxLabel)
레이블이 추가된 실수형 컨트롤을 생성해요. 단위와 최솟값/최댓값 레이블은 사용자 인터페이스 표시에 사용돼요.
setValue
public void setValue(float newValue)
컨트롤의 현재 값을 설정해요. 값은 최솟값과 최댓값 사이여야 해요.
- 파라미터
newValue: 설정할 새 값
getValue
public float getValue()
컨트롤의 현재 값을 얻어요.
- 반환값: 현재 값
getMaximum / getMinimum
public float getMaximum()
public float getMinimum()
컨트롤 값의 최댓값/최솟값을 얻어요.
getPrecision
public float getPrecision()
컨트롤 값의 정밀도를 얻어요. 값이 바뀔 수 있는 가장 작은 단위를 나타내요.
- 반환값: 정밀도
getUnits
public String getUnits()
컨트롤 값의 단위를 얻어요. 단위는 값이 표시될 때 사용되는 텍스트(예: "dB")예요.
- 반환값: 단위 문자열. 단위가 없으면 빈 문자열
shift
public void shift(float from, float to, int microseconds)
컨트롤 값을 from에서 to로 지정된 마이크로초 동안 점진적으로 변화시켜요. 변화는 from 값에서 시작해 to 값으로 이동해요.
- 파라미터
from: 시작 값 - 파라미터
to: 끝 값 - 파라미터
microseconds: 변화를 완료하는 데 걸리는 마이크로초
중첩 클래스 Type
FloatControl.Type은 실수형 컨트롤 유형을 나타내는 중첩 클래스예요. 표준 유형으로 MASTER_GAIN(마스터 볼륨), PAN(좌우 팬 위치), BALANCE, SAMPLE_RATE, VOLUME 상수를 제공해요.