Class 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 Detail

      • 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 Detail

      • 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