Class LevelMeasureAudioInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class LevelMeasureAudioInputStream
    extends javax.sound.sampled.AudioInputStream
    Measures the level of the the audio stream and holds the peak.
    Author:
    K.Jaensch, klausj@phonetik.uni-muenchen.de
    • Field Summary

      • Fields inherited from class javax.sound.sampled.AudioInputStream

        format, frameLength, framePos
    • Constructor Summary

      Constructors 
      Constructor Description
      LevelMeasureAudioInputStream​(javax.sound.sampled.AudioInputStream srcAudioInputStream)
      Create a measuring audio stream with the given source stream.
      LevelMeasureAudioInputStream​(javax.sound.sampled.AudioInputStream srcAudioInputStream, LevelInfo[] levelInfos)
      Create a measuring audio stream with the given source stream.
    • Constructor Detail

      • LevelMeasureAudioInputStream

        public LevelMeasureAudioInputStream​(javax.sound.sampled.AudioInputStream srcAudioInputStream)
                                     throws AudioFormatNotSupportedException
        Create a measuring audio stream with the given source stream.
        Parameters:
        srcAudioInputStream - source audio stream (the stream to measure)
        Throws:
        AudioFormatNotSupportedException
      • LevelMeasureAudioInputStream

        public LevelMeasureAudioInputStream​(javax.sound.sampled.AudioInputStream srcAudioInputStream,
                                            LevelInfo[] levelInfos)
                                     throws AudioFormatNotSupportedException
        Create a measuring audio stream with the given source stream.
        Parameters:
        srcAudioInputStream - source audio stream (the stream to measure)
        Throws:
        AudioFormatNotSupportedException
    • Method Detail

      • available

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class javax.sound.sampled.AudioInputStream
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class javax.sound.sampled.AudioInputStream
        Throws:
        java.io.IOException
      • getFormat

        public javax.sound.sampled.AudioFormat getFormat()
        Overrides:
        getFormat in class javax.sound.sampled.AudioInputStream
      • getFrameLength

        public long getFrameLength()
        Overrides:
        getFrameLength in class javax.sound.sampled.AudioInputStream
      • mark

        public void mark​(int arg0)
        Overrides:
        mark in class javax.sound.sampled.AudioInputStream
      • markSupported

        public boolean markSupported()
        Overrides:
        markSupported in class javax.sound.sampled.AudioInputStream
      • read

        public int read()
                 throws java.io.IOException
        Overrides:
        read in class javax.sound.sampled.AudioInputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] buf)
                 throws java.io.IOException
        Overrides:
        read in class javax.sound.sampled.AudioInputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] buf,
                        int trgOffset,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class javax.sound.sampled.AudioInputStream
        Throws:
        java.io.IOException
      • reset

        public void reset()
                   throws java.io.IOException
        Overrides:
        reset in class javax.sound.sampled.AudioInputStream
        Throws:
        java.io.IOException
      • skip

        public long skip​(long arg0)
                  throws java.io.IOException
        Overrides:
        skip in class javax.sound.sampled.AudioInputStream
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getLevelInfos

        public LevelInfo[] getLevelInfos()
        Get level infos of all channels.
        Returns:
        array of level infos
      • resetPeakHold

        public void resetPeakHold()
        Reset the peak hold.
      • getPeakLevelHold

        public float[] getPeakLevelHold()
        Get current level peaks.
        Returns:
        array with normalized peak for each channel