Class AudioAttributes

java.lang.Object
ws.schild.jave.encode.AudioAttributes
All Implemented Interfaces:
Serializable

public class AudioAttributes extends Object implements Serializable
Attributes controlling the audio encoding process.
Author:
Carlo Pelliccia
See Also:
  • Field Details

    • DIRECT_STREAM_COPY

      public static final String DIRECT_STREAM_COPY
      This value can be setted in the codec field to perform a direct stream copy, without re-encoding of the audio stream.
      See Also:
  • Constructor Details

    • AudioAttributes

      public AudioAttributes()
  • Method Details

    • getCodec

      public Optional<String> getCodec()
      Returns the codec name for the encoding process.
      Returns:
      The codec name for the encoding process.
    • setCodec

      public AudioAttributes setCodec(String codec)
      Sets the codec name for the encoding process.If null or not specified the encoder will perform a direct stream copy. Be sure the supplied codec name is in the list returned by Encoder.getAudioEncoders().

      A special value can be picked from DIRECT_STREAM_COPY.

      Parameters:
      codec - The codec name for the encoding process.
      Returns:
      this instance
    • getBitRate

      public Optional<Integer> getBitRate()
      Returns the bitrate value for the encoding process.
      Returns:
      The bitrate value for the encoding process.
    • setBitRate

      public AudioAttributes setBitRate(Integer bitRate)
      Sets the bitrate value for the encoding process. If null or not specified a default value will be picked.
      Parameters:
      bitRate - The bitrate value for the encoding process.
      Returns:
      this instance
    • getSamplingRate

      public Optional<Integer> getSamplingRate()
      Returns the samplingRate value for the encoding process.
      Returns:
      the samplingRate The samplingRate value for the encoding process.
    • setSamplingRate

      public AudioAttributes setSamplingRate(Integer samplingRate)
      Sets the samplingRate value for the encoding process. If null or not specified a default value will be picked.
      Parameters:
      samplingRate - The samplingRate value for the encoding process.
      Returns:
      this instance
    • getChannels

      public Optional<Integer> getChannels()
      Returns the channels value (1=mono, 2=stereo, 4=quad) for the encoding process.
      Returns:
      The channels value (1=mono, 2=stereo, 4=quad) for the encoding process.
    • setChannels

      public AudioAttributes setChannels(Integer channels)
      Sets the channels value (1=mono, 2=stereo, 4=quad) for the encoding process. If null or not specified a default value will be picked.
      Parameters:
      channels - The channels value (1=mono, 2=stereo, 4=quad) for the encoding process.
      Returns:
      this instance
    • getVolume

      public Optional<Integer> getVolume()
      Returns the volume value for the encoding process.
      Returns:
      The volume value for the encoding process.
    • setVolume

      public AudioAttributes setVolume(Integer volume)
      Sets the volume value for the encoding process. If null or not specified a default value will be picked. If 256 no volume change will be performed.

      volume is the "amplitude ratio" or "sound pressure level" ratio 2560 is volume=20dB The formula is dBnumber=20*lg(amplitude ratio) 128 means reducing by 50% 512 means doubling the volume

      Parameters:
      volume - The volume value for the encoding process.
      Returns:
      this instance
    • getQuality

      public Optional<Integer> getQuality()
      Returns:
      the audio conversion quality
    • setQuality

      public AudioAttributes setQuality(Integer quality)
      The audio quality value for the encoding process. If null or not specified the ffmpeg default will be used

      The value depends on the choosen codec

      For mp3 you can see here: https://trac.ffmpeg.org/wiki/Encode/MP3

      Or more general https://ffmpeg.org/ffmpeg-codecs.html

      Parameters:
      quality - the audio conversion quality to set
      Returns:
      this instance
    • toString

      public String toString()
      Overrides:
      toString in class Object