mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-02 20:04:37 +00:00
trunk contents moved to root
This commit is contained in:
126
libsrc/avi/src/org/monte/media/AudioFormatKeys.java
Normal file
126
libsrc/avi/src/org/monte/media/AudioFormatKeys.java
Normal file
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
* @(#)AudioFormatKeys.java
|
||||
*
|
||||
* Copyright (c) 2011 Werner Randelshofer, Goldau, Switzerland.
|
||||
* All rights reserved.
|
||||
*
|
||||
* You may not use, copy or modify this file, except in compliance onlyWith the
|
||||
* license agreement you entered into onlyWith Werner Randelshofer.
|
||||
* For details see accompanying license terms.
|
||||
*/
|
||||
package org.monte.media;
|
||||
|
||||
import org.monte.media.math.Rational;
|
||||
import java.nio.ByteOrder;
|
||||
import javax.sound.sampled.AudioFormat;
|
||||
import javax.sound.sampled.AudioFormat.Encoding;
|
||||
|
||||
/**
|
||||
* Defines common format keys for audio media.
|
||||
*
|
||||
* @author Werner Randelshofer
|
||||
* @version $Id: AudioFormatKeys.java 299 2013-01-03 07:40:18Z werner $
|
||||
*/
|
||||
public class AudioFormatKeys extends FormatKeys {
|
||||
// Standard video EncodingKey strings for use onlyWith FormatKey.Encoding.
|
||||
|
||||
/**
|
||||
* Specifies SignedKey, linear PCM data.
|
||||
*/
|
||||
public static final String ENCODING_PCM_SIGNED = javax.sound.sampled.AudioFormat.Encoding.PCM_SIGNED.toString();
|
||||
/**
|
||||
* Specifies unsigned, linear PCM data.
|
||||
*/
|
||||
public static final String ENCODING_PCM_UNSIGNED = javax.sound.sampled.AudioFormat.Encoding.PCM_UNSIGNED.toString();
|
||||
/**
|
||||
* Specifies u-law encoded data.
|
||||
*/
|
||||
public static final String ENCODING_ULAW = javax.sound.sampled.AudioFormat.Encoding.ULAW.toString();
|
||||
/**
|
||||
* Specifies a-law encoded data.
|
||||
*/
|
||||
public static final String ENCODING_ALAW = javax.sound.sampled.AudioFormat.Encoding.ALAW.toString();
|
||||
/**
|
||||
* AVI PCM encoding.
|
||||
*/
|
||||
public static final String ENCODING_AVI_PCM = "\u0000\u0000\u0000\u0001";
|
||||
/**
|
||||
* QuickTime 16-bit big endian signed PCM encoding.
|
||||
*/
|
||||
public static final String ENCODING_QUICKTIME_TWOS_PCM = "twos";
|
||||
/**
|
||||
* QuickTime 16-bit little endian signed PCM encoding.
|
||||
*/
|
||||
public static final String ENCODING_QUICKTIME_SOWT_PCM = "sowt";
|
||||
/**
|
||||
* QuickTime 24-bit big endian signed PCM encoding.
|
||||
*/
|
||||
public static final String ENCODING_QUICKTIME_IN24_PCM = "in24";
|
||||
/**
|
||||
* QuickTime 32-bit big endian signed PCM encoding.
|
||||
*/
|
||||
public static final String ENCODING_QUICKTIME_IN32_PCM = "in32";
|
||||
/**
|
||||
* QuickTime 8-bit unsigned PCM encoding.
|
||||
*/
|
||||
public static final String ENCODING_QUICKTIME_RAW_PCM = "raw ";
|
||||
/**
|
||||
* Specifies MP3 encoded data.
|
||||
*/
|
||||
public static final String ENCODING_MP3 = "MP3";
|
||||
/**
|
||||
* The sample size in bits.
|
||||
*/
|
||||
public final static FormatKey<Integer> SampleSizeInBitsKey = new FormatKey<Integer>("sampleSizeInBits", Integer.class);
|
||||
/**
|
||||
* The numer of ChannelsKey.
|
||||
*/
|
||||
public final static FormatKey<Integer> ChannelsKey = new FormatKey<Integer>("channels", Integer.class);
|
||||
/**
|
||||
* The size of a frame.
|
||||
*/
|
||||
public final static FormatKey<Integer> FrameSizeKey = new FormatKey<Integer>("frameSize", Integer.class);
|
||||
/**
|
||||
* The compressor name.
|
||||
*/
|
||||
public final static FormatKey<ByteOrder> ByteOrderKey = new FormatKey<ByteOrder>("byteOrder", ByteOrder.class);
|
||||
/**
|
||||
* The number of frames per second.
|
||||
*/
|
||||
public final static FormatKey<Rational> SampleRateKey = new FormatKey<Rational>("sampleRate", Rational.class);
|
||||
/**
|
||||
* Whether values are signed.
|
||||
*/
|
||||
public final static FormatKey<Boolean> SignedKey = new FormatKey<Boolean>("signed", Boolean.class);
|
||||
/**
|
||||
* Whether silence is encoded as -128 instead of 0.
|
||||
*/
|
||||
public final static FormatKey<Boolean> SilenceBugKey = new FormatKey<Boolean>("silenceBug", Boolean.class);
|
||||
|
||||
public static Format fromAudioFormat(javax.sound.sampled.AudioFormat fmt) {
|
||||
return new Format(
|
||||
MediaTypeKey, MediaType.AUDIO,
|
||||
EncodingKey, fmt.getEncoding().toString(),
|
||||
SampleRateKey, Rational.valueOf(fmt.getSampleRate()),
|
||||
SampleSizeInBitsKey, fmt.getSampleSizeInBits(),
|
||||
ChannelsKey, fmt.getChannels(),
|
||||
FrameSizeKey, fmt.getFrameSize(),
|
||||
FrameRateKey, Rational.valueOf(fmt.getFrameRate()),
|
||||
ByteOrderKey, fmt.isBigEndian() ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN,
|
||||
SignedKey, AudioFormat.Encoding.PCM_SIGNED.equals(fmt.getEncoding())//,
|
||||
//
|
||||
);
|
||||
}
|
||||
|
||||
public static javax.sound.sampled.AudioFormat toAudioFormat(Format fmt) {
|
||||
// We always use PCM_SIGNED or PCM_UNSIGNED
|
||||
return new javax.sound.sampled.AudioFormat(
|
||||
!fmt.containsKey(SignedKey) || fmt.get(SignedKey) ? Encoding.PCM_SIGNED : Encoding.PCM_UNSIGNED,
|
||||
fmt.get(SampleRateKey).floatValue(),
|
||||
fmt.get(SampleSizeInBitsKey, 16),
|
||||
fmt.get(ChannelsKey, 1),
|
||||
fmt.containsKey(FrameSizeKey) ? fmt.get(FrameSizeKey) : (fmt.get(SampleSizeInBitsKey, 16) + 7) / 8 * fmt.get(ChannelsKey, 1),
|
||||
fmt.containsKey(FrameRateKey) ? fmt.get(FrameRateKey).floatValue() : fmt.get(SampleRateKey).floatValue(),
|
||||
fmt.containsKey(ByteOrderKey) ? fmt.get(ByteOrderKey) == ByteOrder.BIG_ENDIAN : true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user