declare namespace javax {
namespace sound {
namespace sampled {
/**
* An instance of the AudioFileFormat
class describes
* an audio file, including the file type, the file's length in bytes,
* the length in sample frames of the audio data contained in the file,
* and the format of the audio data.
*
* The {@link AudioSystem}
class includes methods for determining the format
* of an audio file, obtaining an audio input stream from an audio file, and
* writing an audio file from an audio input stream.
*
An AudioFileFormat
object can
* include a set of properties. A property is a pair of key and value:
* the key is of type String
, the associated property
* value is an arbitrary object.
* Properties specify additional informational
* meta data (like a author, copyright, or file duration).
* Properties are optional information, and file reader and file
* writer implementations are not required to provide or
* recognize properties.
*
The following table lists some common properties that should * be used in implementations: *
Property key | *Value type | *Description | *
---|---|---|
"duration" | *{@link java.lang.Long Long} | *playback duration of the file in microseconds | *
"author" | *{@link java.lang.String String} | *name of the author of this file | *
"title" | *{@link java.lang.String String} | *title of this file | *
"copyright" | *{@link java.lang.String String} | *copyright message | *
"date" | *{@link java.util.Date Date} | *date of the recording or release | *
"comment" | *{@link java.lang.String String} | *an arbitrary text | *
AudioSystem.NOT_SPECIFIED
* @param format the format of the audio data contained in the file
* @param frameLength the audio data length in sample frames, or AudioSystem.NOT_SPECIFIED
* @see #getType
*/
// @ts-ignore
constructor(type: javax.sound.sampled.AudioFileFormat.Type, byteLength: number /*int*/, format: javax.sound.sampled.AudioFormat, frameLength: number /*int*/)
/**
* Constructs an audio file format object.
* This public constructor may be used by applications to describe the
* properties of a requested audio file.
* @param type the type of the audio file
* @param format the format of the audio data contained in the file
* @param frameLength the audio data length in sample frames, or AudioSystem.NOT_SPECIFIED
*/
// @ts-ignore
constructor(type: javax.sound.sampled.AudioFileFormat.Type, format: javax.sound.sampled.AudioFormat, frameLength: number /*int*/)
/**
* Construct an audio file format object with a set of
* defined properties.
* This public constructor may be used by applications to describe the
* properties of a requested audio file. The properties map
* will be copied to prevent any changes to it.
* @param type the type of the audio file
* @param format the format of the audio data contained in the file
* @param frameLength the audio data length in sample frames, or
* AudioSystem.NOT_SPECIFIED
* @param properties a Map<String,Object>
object
* with properties
* @since 1.5
*/
// @ts-ignore
constructor(type: javax.sound.sampled.AudioFileFormat.Type, format: javax.sound.sampled.AudioFormat, frameLength: number /*int*/, properties: java.util.MapWAVE
or AU
.
* @return the audio file type
* @see Type#WAVE
* @see Type#AU
* @see Type#AIFF
* @see Type#AIFC
* @see Type#SND
*/
// @ts-ignore
public getType(): javax.sound.sampled.AudioFileFormat.Type
/**
* Obtains the size in bytes of the entire audio file (not just its audio data).
* @return the audio file length in bytes
* @see AudioSystem#NOT_SPECIFIED
*/
// @ts-ignore
public getByteLength(): number /*int*/
/**
* Obtains the format of the audio data contained in the audio file.
* @return the audio data format
*/
// @ts-ignore
public getFormat(): javax.sound.sampled.AudioFormat
/**
* Obtains the length of the audio data contained in the file, expressed in sample frames.
* @return the number of sample frames of audio data in the file
* @see AudioSystem#NOT_SPECIFIED
*/
// @ts-ignore
public getFrameLength(): number /*int*/
/**
* Obtain an unmodifiable map of properties.
* The concept of properties is further explained in
* the {@link AudioFileFormat class description}.
* @return a Map<String,Object>
object containing
* all properties. If no properties are recognized, an empty map is
* returned.
* @see #getProperty(String)
* @since 1.5
*/
// @ts-ignore
public properties(): java.util.MapIf the specified property is not defined for a
* particular file format, this method returns
* null
.
* @param key the key of the desired property
* @return the value of the property with the specified key,
* or null
if the property does not exist.
* @see #properties()
* @since 1.5
*/
// @ts-ignore
public getProperty(key: java.lang.String | string): any
/**
* Provides a string representation of the file format.
* @return the file format as a string
*/
// @ts-ignore
public toString(): string
}
}
}
}