- Enclosing class:
- AudioFormat
public static class AudioFormat.Encoding extends Object
Encoding class names the specific type of data representation
used for an audio stream. The encoding includes aspects of the sound
format other than the number of channels, sample rate, sample size, frame
rate, frame size, and byte order.
One ubiquitous type of audio encoding is pulse-code modulation (PCM), which is simply a linear (proportional) representation of the sound waveform. With PCM, the number stored in each sample is proportional to the instantaneous amplitude of the sound pressure at that point in time. The numbers may be signed or unsigned integers or floats. Besides PCM, other encodings include mu-law and a-law, which are nonlinear mappings of the sound amplitude that are often used for recording speech.
You can use a predefined encoding by referring to one of the static
objects created by this class, such as PCM_SIGNED or
PCM_UNSIGNED. Service providers can create new encodings, such as
compressed audio formats, and make these available through the
AudioSystem class.
The Encoding class is static, so that all AudioFormat
objects that have the same encoding will refer to the same object (rather
than different instances of the same class). This allows matches to be
made by checking that two format's encodings are equal.
- Since:
- 1.3
- See Also:
AudioFormat,FormatConversionProvider
-
Field Summary
Fields Modifier and Type Field Description static AudioFormat.EncodingALAWSpecifies a-law encoded data.static AudioFormat.EncodingPCM_FLOATSpecifies floating-point PCM data.static AudioFormat.EncodingPCM_SIGNEDSpecifies signed, linear PCM data.static AudioFormat.EncodingPCM_UNSIGNEDSpecifies unsigned, linear PCM data.static AudioFormat.EncodingULAWSpecifies u-law encoded data. -
Constructor Summary
-
Method Summary
Modifier and Type Method Description booleanequals(Object obj)Indicates whether the specified object is equal to this encoding, returningtrueif the objects are equal.inthashCode()Returns a hash code value for this encoding.StringtoString()Provides theStringrepresentation of the encoding.
-
Field Details
-
PCM_SIGNED
Specifies signed, linear PCM data. -
PCM_UNSIGNED
Specifies unsigned, linear PCM data. -
PCM_FLOAT
Specifies floating-point PCM data.- Since:
- 1.7
-
ULAW
Specifies u-law encoded data. -
ALAW
Specifies a-law encoded data.
-
-
Constructor Details
-
Encoding
Constructs a new encoding.- Parameters:
name- the name of the new type of encoding
-
-
Method Details
-
equals
Indicates whether the specified object is equal to this encoding, returningtrueif the objects are equal.- Overrides:
equalsin classObject- Parameters:
obj- the reference object with which to compare- Returns:
trueif the specified object is equal to this encoding;falseotherwise- See Also:
Object.hashCode(),HashMap
-
hashCode
public final int hashCode()Returns a hash code value for this encoding.- Overrides:
hashCodein classObject- Returns:
- a hash code value for this encoding
- See Also:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
Provides theStringrepresentation of the encoding. ThisStringis the same name that was passed to the constructor. For the predefined encodings, the name is similar to the encoding's variable (field) name. For example,PCM_SIGNED.toString()returns the name "PCM_SIGNED".
-