Module java.desktop

Class AudioFileWriter


  • public abstract class AudioFileWriter
    extends Object
    Provider for audio file writing services. Classes providing concrete implementations can write one or more types of audio file from an audio stream.
    Since:
    1.3
    • Constructor Detail

      • AudioFileWriter

        public AudioFileWriter()
    • Method Detail

      • getAudioFileTypes

        public abstract AudioFileFormat.Type[] getAudioFileTypes()
        Obtains the file types for which file writing support is provided by this audio file writer.
        Returns:
        array of file types. If no file types are supported, an array of length 0 is returned.
      • isFileTypeSupported

        public boolean isFileTypeSupported​(AudioFileFormat.Type fileType)
        Indicates whether file writing support for the specified file type is provided by this audio file writer.
        Parameters:
        fileType - the file type for which write capabilities are queried
        Returns:
        true if the file type is supported, otherwise false
        Throws:
        NullPointerException - if fileType is null
      • getAudioFileTypes

        public abstract AudioFileFormat.Type[] getAudioFileTypes​(AudioInputStream stream)
        Obtains the file types that this audio file writer can write from the audio input stream specified.
        Parameters:
        stream - the audio input stream for which audio file type support is queried
        Returns:
        array of file types. If no file types are supported, an array of length 0 is returned.
        Throws:
        NullPointerException - if stream is null
      • isFileTypeSupported

        public boolean isFileTypeSupported​(AudioFileFormat.Type fileType,
                                           AudioInputStream stream)
        Indicates whether an audio file of the type specified can be written from the audio input stream indicated.
        Parameters:
        fileType - file type for which write capabilities are queried
        stream - for which file writing support is queried
        Returns:
        true if the file type is supported for this audio input stream, otherwise false
        Throws:
        NullPointerException - if fileType or stream are null
      • write

        public abstract int write​(AudioInputStream stream,
                                  AudioFileFormat.Type fileType,
                                  OutputStream out)
                           throws IOException
        Writes a stream of bytes representing an audio file of the file type indicated to the output stream provided. Some file types require that the length be written into the file header, and cannot be written from start to finish unless the length is known in advance. An attempt to write such a file type will fail with an IOException if the length in the audio file format is AudioSystem.NOT_SPECIFIED.
        Parameters:
        stream - the audio input stream containing audio data to be written to the output stream
        fileType - file type to be written to the output stream
        out - stream to which the file data should be written
        Returns:
        the number of bytes written to the output stream
        Throws:
        IOException - if an I/O exception occurs
        IllegalArgumentException - if the file type is not supported by the system
        NullPointerException - if stream or fileType or out are null
        See Also:
        isFileTypeSupported(Type, AudioInputStream), getAudioFileTypes()