アットウィキロゴ

java0717

import java.io.IOException;
import java.io.File;
import javax.sound.sampled.*;

public class game0717{
    public static void main(String [] args) {
        try {
            AudioInputStream ais =
                AudioSystem.getAudioInputStream(new File("sound.wav"));
            byte [] data = new byte [ais.available()];
            ais.read(data);
            ais.close();
            AudioFormat af = ais.getFormat();
            System.out.println("#channels: "         + af.getChannels());
            System.out.println("#isBigEndian: "      + af.isBigEndian());
            System.out.println("#FrameSize: "        + af.getFrameSize());
            System.out.println("#SampleSizeInBits: " + af.getSampleSizeInBits());
            System.out.println("#SampleRate: "       + af.getSampleRate());
            if (af.getEncoding() == AudioFormat.Encoding.PCM_SIGNED) {
                System.out.println("p4");
            }
            else if (af.getEncoding() == AudioFormat.Encoding.PCM_UNSIGNED) {
                System.out.println("p3");
            }
            System.out.println(data.length);
            if (af.getChannels() == 2 &&
                af.getSampleSizeInBits() == 16 &&
                af.getEncoding() == AudioFormat.Encoding.PCM_SIGNED &&
                (!af.isBigEndian())) {
                short left, right;
                for (int i = 0; i < data.length; i += 4) {
                    left  = (short)(data[i]   & 0xff | (data[i+1] << 8));
                    right = (short)(data[i+2] & 0xff | (data[i+3] << 8));
                    System.out.println(left);
                }
            }
            else {
                System.out.println("p2");
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }
    }
}
最終更新:2011年02月27日 15:43