/* * MpegAudioFileFormat. * * JavaZOOM : mp3spi@javazoom.net * http://www.javazoom.net * *----------------------------------------------------------------------- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as published * by the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *---------------------------------------------------------------------- */ package javazoom.spi.mpeg.sampled.file; import java.util.Map; import javax.sound.sampled.AudioFormat; import org.tritonus.share.sampled.file.TAudioFileFormat; /** * @author JavaZOOM */ public class MpegAudioFileFormat extends TAudioFileFormat { /** * Contructor. * @param type * @param audioFormat * @param nLengthInFrames * @param nLengthInBytes */ public MpegAudioFileFormat(Type type, AudioFormat audioFormat, int nLengthInFrames, int nLengthInBytes, Map properties) { super(type, audioFormat, nLengthInFrames, nLengthInBytes, properties); } /** * MP3 audio file format parameters. * Some parameters might be unavailable. So availability test is required before reading any parameter. * * <br>AudioFileFormat parameters. * <ul> * <li><b>duration</b> [Long], duration in microseconds. * <li><b>title</b> [String], Title of the stream. * <li><b>author</b> [String], Name of the artist of the stream. * <li><b>album</b> [String], Name of the album of the stream. * <li><b>date</b> [String], The date (year) of the recording or release of the stream. * <li><b>copyright</b> [String], Copyright message of the stream. * <li><b>comment</b> [String], Comment of the stream. * </ul> * <br>MP3 parameters. * <ul> * <li><b>mp3.version.mpeg</b> [String], mpeg version : 1,2 or 2.5 * <li><b>mp3.version.layer</b> [String], layer version 1, 2 or 3 * <li><b>mp3.version.encoding</b> [String], mpeg encoding : MPEG1, MPEG2-LSF, MPEG2.5-LSF * <li><b>mp3.channels</b> [Integer], number of channels 1 : mono, 2 : stereo. * <li><b>mp3.frequency.hz</b> [Integer], sampling rate in hz. * <li><b>mp3.bitrate.nominal.bps</b> [Integer], nominal bitrate in bps. * <li><b>mp3.length.bytes</b> [Integer], length in bytes. * <li><b>mp3.length.frames</b> [Integer], length in frames. * <li><b>mp3.framesize.bytes</b> [Integer], framesize of the first frame. framesize is not constant for VBR streams. * <li><b>mp3.framerate.fps</b> [Float], framerate in frames per seconds. * <li><b>mp3.header.pos</b> [Integer], position of first audio header (or ID3v2 size). * <li><b>mp3.vbr</b> [Boolean], vbr flag. * <li><b>mp3.vbr.scale</b> [Integer], vbr scale. * <li><b>mp3.crc</b> [Boolean], crc flag. * <li><b>mp3.original</b> [Boolean], original flag. * <li><b>mp3.copyright</b> [Boolean], copyright flag. * <li><b>mp3.padding</b> [Boolean], padding flag. * <li><b>mp3.mode</b> [Integer], mode 0:STEREO 1:JOINT_STEREO 2:DUAL_CHANNEL 3:SINGLE_CHANNEL * <li><b>mp3.id3tag.genre</b> [String], ID3 tag (v1 or v2) genre. * <li><b>mp3.id3tag.track</b> [String], ID3 tag (v1 or v2) track info. * <li><b>mp3.id3tag.encoded</b> [String], ID3 tag v2 encoded by info. * <li><b>mp3.id3tag.composer</b> [String], ID3 tag v2 composer info. * <li><b>mp3.id3tag.grouping</b> [String], ID3 tag v2 grouping info. * <li><b>mp3.id3tag.disc</b> [String], ID3 tag v2 track info. * <li><b>mp3.id3tag.publisher</b> [String], ID3 tag v2 publisher info. * <li><b>mp3.id3tag.orchestra</b> [String], ID3 tag v2 orchestra info. * <li><b>mp3.id3tag.length</b> [String], ID3 tag v2 file length in seconds. * <li><b>mp3.id3tag.v2</b> [InputStream], ID3v2 frames. * <li><b>mp3.id3tag.v2.version</b> [String], ID3v2 major version (2=v2.2.0, 3=v2.3.0, 4=v2.4.0). * <li><b>mp3.shoutcast.metadata.key</b> [String], Shoutcast meta key with matching value. * <br>For instance : * <br>mp3.shoutcast.metadata.icy-irc=#shoutcast * <br>mp3.shoutcast.metadata.icy-metaint=8192 * <br>mp3.shoutcast.metadata.icy-genre=Trance Techno Dance * <br>mp3.shoutcast.metadata.icy-url=http://www.di.fm * <br>and so on ... * </ul> */ public Map properties() { return super.properties(); } }