类 StdAudio


  • public final class StdAudio
    extends java.lang.Object
    Standard audio. This class provides a basic capability for creating, reading, and saving audio.

    The audio format uses a sampling rate of 44,100 Hz, 16-bit, monaural.

    For additional documentation, see Section 1.5 of Computer Science: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne.

    • 字段概要

      字段 
      修饰符和类型 字段 说明
      static int SAMPLE_RATE
      The sample rate: 44,100 Hz for CD quality audio.
    • 方法概要

      修饰符和类型 方法 说明
      static void close()
      Closes standard audio.
      static void loop​(java.lang.String filename)
      Loops an audio file (in .wav, .mid, or .au format) in a background thread.
      static void main​(java.lang.String[] args)
      Test client - play an A major scale to standard audio.
      static void play​(double sample)
      Writes one sample (between -1.0 and +1.0) to standard audio.
      static void play​(double[] samples)
      Writes the array of samples (between -1.0 and +1.0) to standard audio.
      static void play​(java.lang.String filename)
      Plays an audio file (in .wav, .mid, or .au format) in a background thread.
      static double[] read​(java.lang.String filename)
      Reads audio samples from a file (in .wav or .au format) and returns them as a double array with values between -1.0 and +1.0.
      static void save​(java.lang.String filename, double[] samples)
      Saves the double array as an audio file (using .wav or .au format).
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • SAMPLE_RATE

        public static final int SAMPLE_RATE
        The sample rate: 44,100 Hz for CD quality audio.
        另请参阅:
        常量字段值
    • 方法详细资料

      • close

        public static void close()
        Closes standard audio.
      • play

        public static void play​(double sample)
        Writes one sample (between -1.0 and +1.0) to standard audio. If the sample is outside the range, it will be clipped.
        参数:
        sample - the sample to play
        抛出:
        java.lang.IllegalArgumentException - if the sample is Double.NaN
      • play

        public static void play​(double[] samples)
        Writes the array of samples (between -1.0 and +1.0) to standard audio. If a sample is outside the range, it will be clipped.
        参数:
        samples - the array of samples to play
        抛出:
        java.lang.IllegalArgumentException - if any sample is Double.NaN
        java.lang.IllegalArgumentException - if samples is null
      • read

        public static double[] read​(java.lang.String filename)
        Reads audio samples from a file (in .wav or .au format) and returns them as a double array with values between -1.0 and +1.0. The audio file must be 16-bit with a sampling rate of 44,100. It can be mono or stereo.
        参数:
        filename - the name of the audio file
        返回:
        the array of samples
      • save

        public static void save​(java.lang.String filename,
                                double[] samples)
        Saves the double array as an audio file (using .wav or .au format).
        参数:
        filename - the name of the audio file
        samples - the array of samples
        抛出:
        java.lang.IllegalArgumentException - if unable to save filename
        java.lang.IllegalArgumentException - if samples is null
        java.lang.IllegalArgumentException - if filename is null
        java.lang.IllegalArgumentException - if filename extension is not .wav or .au
      • play

        public static void play​(java.lang.String filename)
        Plays an audio file (in .wav, .mid, or .au format) in a background thread.
        参数:
        filename - the name of the audio file
        抛出:
        java.lang.IllegalArgumentException - if unable to play filename
        java.lang.IllegalArgumentException - if filename is null
      • loop

        public static void loop​(java.lang.String filename)
        Loops an audio file (in .wav, .mid, or .au format) in a background thread.
        参数:
        filename - the name of the audio file
        抛出:
        java.lang.IllegalArgumentException - if filename is null
      • main

        public static void main​(java.lang.String[] args)
        Test client - play an A major scale to standard audio.
        参数:
        args - the command-line arguments