Class SoundSampleImpl

java.lang.Object
org.refcodes.audio.SoundSampleImpl
All Implemented Interfaces:
SamplingRateAccessor, SoundSample, org.refcodes.mixin.IndexAccessor, org.refcodes.mixin.TimeStampAccessor
Direct Known Subclasses:
MonoSampleImpl

public class SoundSampleImpl extends Object implements SoundSample
A SoundSample represents multiple amplitudes (one for each channel,e.g. two in case we have classical stereo sound) assigned to an according time positioning.
  • Constructor Details

    • SoundSampleImpl

      public SoundSampleImpl(SoundSample aSample)
      Constructs a SoundSample instance with the according sound sample's settings
      Parameters:
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
    • SoundSampleImpl

      public SoundSampleImpl(double[] aSample)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
    • SoundSampleImpl

      public SoundSampleImpl(double aTimeMillis, double[] aSample)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aTimeMillis - The time positioning of this sound sample.
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
    • SoundSampleImpl

      public SoundSampleImpl(double aTimeMillis, double[] aSample, int aSamplingRate)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aTimeMillis - The time positioning of this sound sample.
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
      aSamplingRate - The sampling rate for the given sample.
    • SoundSampleImpl

      public SoundSampleImpl(double[] aSample, int aSamplingRate)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
      aSamplingRate - The sampling rate for the given sample.
    • SoundSampleImpl

      public SoundSampleImpl(long aIndex, double[] aSample)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aIndex - The index of the sample according to its position in the sample sequence (e.g. sound file).
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
    • SoundSampleImpl

      public SoundSampleImpl(long aIndex, double[] aSample, int aSamplingRate)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aIndex - The index of the sample according to its position in the sample sequence (e.g. sound file).
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
      aSamplingRate - The sampling rate for the given sample.
    • SoundSampleImpl

      public SoundSampleImpl(long aIndex, double aTimeMillis, double[] aSample)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aIndex - The index of the sample according to its position in the sample sequence (e.g. sound file).
      aTimeMillis - The time positioning of this sound sample.
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
    • SoundSampleImpl

      public SoundSampleImpl(long aIndex, double aTimeMillis, double[] aSample, int aSamplingRate)
      Constructs a SoundSample instance with the according time and sample settings.
      Parameters:
      aIndex - The index of the sample according to its position in the sample sequence (e.g. sound file).
      aTimeMillis - The time positioning of this sound sample.
      aSample - The sample (set of values representing the channels, one channel per value) for the related time positioning.
      aSamplingRate - The sampling rate for the given sample.
  • Method Details

    • getSampleData

      public double[] getSampleData()
      Returns the sample's data for the according time positioning. A sample is a value or set of values at a point in time. In case of mono audio, a sample represents a single value, in case of stereo audio, a sample represents a set of values, one value represents one channel (e.g. two channels when we have a left and a right speaker).
      Specified by:
      getSampleData in interface SoundSample
      Returns:
      The sample's data for the according time positioning.
    • getTimeStamp

      public double getTimeStamp()
      Returns the position in time of this sound sample in ms.
      Specified by:
      getTimeStamp in interface SoundSample
      Specified by:
      getTimeStamp in interface org.refcodes.mixin.TimeStampAccessor
      Returns:
      The sound sample's time positioning.
    • getSamplingRate

      public int getSamplingRate()
      Retrieves the sampling rate from the sampling rate property.
      Specified by:
      getSamplingRate in interface SamplingRateAccessor
      Returns:
      The sampling rate stored by the sampling rate property.
    • getIndex

      public long getIndex()
      Specified by:
      getIndex in interface org.refcodes.mixin.IndexAccessor
    • toString

      public String toString()
      Overrides:
      toString in class Object