All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.javaflacencoder.package.html Maven / Gradle / Ivy


This package defines a FLAC encoder with a simple interface for enabling FLAC
encoding support in an application. This class is appropriate for use in the
case where you have raw pcm audio samples that you wish to encode. Currently,
fixed-blocksize only is implemented, with the "Maximum Block Size" set in the
StreamConfiguration object used as the actual block size.


To use this library, there are several options:

If you're simply needing to convert a file(as opposed to a stream), you may want to use the FLAC_FileEncoder class.

For applications using the javax.sound API, this library includes basic support.
FLACFileWriter provides the implementation of javax.sound.sampled.spi.AudioFileWriter. After installing a release jar in the appropriate location, the FLAC encoder should be available for use by any application which makes use of the sound api for transcoding purposes. Use this if you need basic encoding support(with default configuration), and have a javax.sound.sampled.AudioInputStream as your source.

The remaining example is for those who need more control over the encoding process, including supplying a non-default EncodingConfiguration object, or for whom the prior methods are not otherwise suitable. For direct, low-level access, an application should primarily use the classes FLACEncoder, EncodingConfiguration, StreamConfiguration, and FLACOutputStream.

An encoding process is simple, and should follow these steps:
1) Set StreamConfiguration to appropriate values. After a stream is opened, this must not be altered until the stream is closed.
2) Set FLACOutputStream, object to write results to.
3) Open FLAC Stream
4) Set EncodingConfiguration(if defaults are insufficient).
5) Add samples to encoder
6) Encode Samples
7) Close stream
(note: steps 4,5, and 6 may be done repeatedly, in any order. However, see related method documentation for info on concurrent use)






© 2015 - 2024 Weber Informatics LLC | Privacy Policy