com.limegroup.gnutella.metadata.WMAMetaData.java Source code

Java tutorial

Introduction

Here is the source code for com.limegroup.gnutella.metadata.WMAMetaData.java

Source

package com.limegroup.gnutella.metadata;

import java.io.File;
import java.io.IOException;

import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;

/**
 * Sets WMA metadata using the ASF parser.
 */
public class WMAMetaData extends AudioMetaData {

    private static final Log LOG = LogFactory.getLog(WMAMetaData.class);

    /** Sets WMA data. */
    public WMAMetaData(File f) throws IOException {
        super(f);
    }

    /** Constructs a WMAMetadata from a parser. */
    public WMAMetaData(ASFParser p) throws IOException {
        set(p);
    }

    /** Parse using the ASF Parser. */
    protected void parseFile(File f) throws IOException {
        ASFParser data = new ASFParser(f);
        set(data);
    }

    /** Sets data based on an ASF Parser. */
    private void set(ASFParser data) throws IOException {
        if (data.hasVideo())
            throw new IOException("use WMV instead!");
        if (!data.hasAudio())
            throw new IOException("no audio data!");

        setTitle(data.getTitle());
        setAlbum(data.getAlbum());
        setArtist(data.getArtist());
        setYear(data.getYear());
        setComment(data.getComment());
        setTrack(data.getTrack());
        setBitrate(data.getBitrate());
        setLength(data.getLength());
        setGenre(data.getGenre());
        setLicense(data.getCopyright());

        if (data.getLicenseInfo() != null)
            setLicenseType(data.getLicenseInfo());
    }
}