FloatControl

FloatControl

실수(소수) 값을 가지는 컨트롤을 나타내는 추상 클래스예요. 예를 들어 오디오 볼륨, 팬 위치 같은 값을 제어하는 데 사용돼요.

출처: Java API Reference

본문

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 상수를 제공해요.

더 알아보기