Java 类com.sun.media.sound.RIFFReader 实例源码

项目:TuxGuitar-1.3.1-fork    文件:SF2Soundbank.java   
private void readSoundbank(InputStream inputstream) throws IOException {
    RIFFReader riff = new RIFFReader(inputstream);
    if (!riff.getFormat().equals("RIFF")) {
        throw new RIFFInvalidFormatException(
                "Input stream is not a valid RIFF stream!");
    }
    if (!riff.getType().equals("sfbk")) {
        throw new RIFFInvalidFormatException(
                "Input stream is not a valid SoundFont!");
    }
    while (riff.hasNextChunk()) {
        RIFFReader chunk = riff.nextChunk();
        if (chunk.getFormat().equals("LIST")) {
            if (chunk.getType().equals("INFO"))
                readInfoChunk(chunk);
            if (chunk.getType().equals("sdta"))
                readSdtaChunk(chunk);
            if (chunk.getType().equals("pdta"))
                readPdtaChunk(chunk);
        }
    }
}
项目:TuxGuitar-1.3.1-fork    文件:SF2Soundbank.java   
private void readInfoChunk(RIFFReader riff) throws IOException {
    while (riff.hasNextChunk()) {
        RIFFReader chunk = riff.nextChunk();
        String format = chunk.getFormat();
        if (format.equals("ifil")) {
            major = chunk.readUnsignedShort();
            minor = chunk.readUnsignedShort();
        } else if (format.equals("isng")) {
            this.targetEngine = chunk.readString(chunk.available());
        } else if (format.equals("INAM")) {
            this.name = chunk.readString(chunk.available());
        } else if (format.equals("irom")) {
            this.romName = chunk.readString(chunk.available());
        } else if (format.equals("iver")) {
            romVersionMajor = chunk.readUnsignedShort();
            romVersionMinor = chunk.readUnsignedShort();
        } else if (format.equals("ICRD")) {
            this.creationDate = chunk.readString(chunk.available());
        } else if (format.equals("IENG")) {
            this.engineers = chunk.readString(chunk.available());
        } else if (format.equals("IPRD")) {
            this.product = chunk.readString(chunk.available());
        } else if (format.equals("ICOP")) {
            this.copyright = chunk.readString(chunk.available());
        } else if (format.equals("ICMT")) {
            this.comments = chunk.readString(chunk.available());
        } else if (format.equals("ISFT")) {
            this.tools = chunk.readString(chunk.available());
        }

    }
}