- 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.Encoding
ALAW
Specifies a-law encoded data.static AudioFormat.Encoding
PCM_FLOAT
Specifies floating-point PCM data.static AudioFormat.Encoding
PCM_SIGNED
Specifies signed, linear PCM data.static AudioFormat.Encoding
PCM_UNSIGNED
Specifies unsigned, linear PCM data.static AudioFormat.Encoding
ULAW
Specifies u-law encoded data. -
Constructor Summary
-
Method Summary
Modifier and Type Method Description boolean
equals(Object obj)
Indicates whether the specified object is equal to this encoding, returningtrue
if the objects are equal.int
hashCode()
Returns a hash code value for this encoding.String
toString()
Provides theString
representation 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, returningtrue
if the objects are equal.- Overrides:
equals
in classObject
- Parameters:
obj
- the reference object with which to compare- Returns:
true
if the specified object is equal to this encoding;false
otherwise- See Also:
Object.hashCode()
,HashMap
-
hashCode
public final int hashCode()Returns a hash code value for this encoding.- Overrides:
hashCode
in classObject
- Returns:
- a hash code value for this encoding
- See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
Provides theString
representation of the encoding. ThisString
is 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".
-