本文整理汇总了Java中org.tritonus.share.TDebug.TraceAudioConverter方法的典型用法代码示例。如果您正苦于以下问题:Java TDebug.TraceAudioConverter方法的具体用法?Java TDebug.TraceAudioConverter怎么用?Java TDebug.TraceAudioConverter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.tritonus.share.TDebug
的用法示例。
在下文中一共展示了TDebug.TraceAudioConverter方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isConversionSupported
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
/**
* Add conversion support for any MpegEncoding source with FrameRate or FrameSize not empty.
* @param targetFormat
* @param sourceFormat
* @return
*/
public boolean isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat)
{
if (TDebug.TraceAudioConverter)
{
TDebug.out(">MpegFormatConversionProvider.isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat):");
TDebug.out("checking if conversion possible");
TDebug.out("from: " + sourceFormat);
TDebug.out("to: " + targetFormat);
}
boolean conversion = super.isConversionSupported(targetFormat, sourceFormat);
if (conversion == false)
{
AudioFormat.Encoding enc = sourceFormat.getEncoding();
if (enc instanceof MpegEncoding)
{
if ((sourceFormat.getFrameRate() != AudioSystem.NOT_SPECIFIED) || (sourceFormat.getFrameSize() != AudioSystem.NOT_SPECIFIED))
{
conversion = true;
}
}
}
return conversion;
}
示例2: readFromStream
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
/**
* Reads from the oggBitStream_ a specified number of Bytes(bufferSize_) worth
* starting at index and puts them in the specified buffer[].
*
* @param buffer
* @param index
* @param bufferSize_
* @return the number of bytes read or -1 if error.
*/
private int readFromStream(byte[] buffer, int index, int bufferSize_)
{
int bytes = 0;
try
{
bytes = oggBitStream_.read(buffer, index, bufferSize_);
}
catch(Exception e)
{
if(TDebug.TraceAudioConverter) TDebug.out("Cannot Read Selected Song");
bytes = -1;
}
currentBytes = currentBytes + bytes;
return bytes;
}
示例3: closePhysicalStream
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
private void closePhysicalStream()
{
if (TDebug.TraceAudioConverter) TDebug.out("DecodedJorbisAudioInputStream.closePhysicalStream(): begin");
m_oggSyncState.clear();
try
{
if (m_oggBitStream != null)
{
m_oggBitStream.close();
}
getCircularBuffer().close();
}
catch (Exception e)
{
if (TDebug.TraceAllExceptions) { TDebug.out(e); }
}
if (TDebug.TraceAudioConverter) TDebug.out("DecodedJorbisAudioInputStream.closePhysicalStream(): end");
}
示例4: MpegFormatConversionProvider
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
/**
* Constructor.
*/
public MpegFormatConversionProvider()
{
super(Arrays.asList(INPUT_FORMATS), Arrays.asList(OUTPUT_FORMATS));
if (TDebug.TraceAudioConverter)
{
TDebug.out(">MpegFormatConversionProvider()");
}
}
示例5: getAudioInputStream
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
public AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream audioInputStream)
{
if (TDebug.TraceAudioConverter)
{
TDebug.out(">MpegFormatConversionProvider.getAudioInputStream(AudioFormat targetFormat, AudioInputStream audioInputStream):");
}
return new DecodedMpegAudioInputStream(targetFormat, audioInputStream);
}
示例6: skipFrames
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
/**
* Skip frames.
* You don't need to call it severals times, it will exactly skip given frames number.
* @param frames
* @return bytes length skipped matching to frames skipped.
*/
public long skipFrames(long frames)
{
if (TDebug.TraceAudioConverter) TDebug.out("skip(long frames) : begin");
int framesRead = 0;
int bytesReads = 0;
try
{
for (int i=0;i<frames;i++)
{
Header header = m_bitstream.readFrame();
if (header != null)
{
int fsize = header.calculate_framesize();
bytesReads = bytesReads + fsize;
}
m_bitstream.closeFrame();
framesRead++;
}
}
catch (BitstreamException e)
{
if (TDebug.TraceAudioConverter) TDebug.out(e);
}
if (TDebug.TraceAudioConverter) TDebug.out("skip(long frames) : end");
currentFrame = currentFrame + framesRead;
return bytesReads;
}
示例7: continueFromBufferFull
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
private void continueFromBufferFull()
{
if(getCircularBuffer().availableWrite() < 2 * vorbisInfo.channels * bout)
{
if(TDebug.TraceAudioConverter) TDebug.out("Too much data in this data packet, better return, let the channel drain, and try again...");
// Don't change play state.
return;
}
getCircularBuffer().write(convbuffer, 0, 2 * vorbisInfo.channels * bout);
// Don't change play state. Let outputSamples change play state, if necessary.
outputSamples();
}
示例8: getAudioInputStream
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
public AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream audioInputStream)
{
/** The AudioInputStream to return.
*/
AudioInputStream convertedAudioInputStream = null;
if (TDebug.TraceAudioConverter)
{
TDebug.out(">JorbisFormatConversionProvider.getAudioInputStream(): begin");
TDebug.out("checking if conversion supported");
TDebug.out("from: " + audioInputStream.getFormat());
TDebug.out("to: " + targetFormat);
}
// what is this ???
targetFormat=getDefaultTargetFormat(targetFormat, audioInputStream.getFormat());
if (isConversionSupported(targetFormat,
audioInputStream.getFormat()))
{
if (TDebug.TraceAudioConverter)
{
TDebug.out("conversion supported; trying to create DecodedJorbisAudioInputStream");
}
convertedAudioInputStream = new
DecodedJorbisAudioInputStream(
targetFormat,
audioInputStream);
}
else
{
if (TDebug.TraceAudioConverter)
{
TDebug.out("conversion not supported; throwing IllegalArgumentException");
TDebug.out("<");
}
throw new IllegalArgumentException("conversion not supported");
}
if (TDebug.TraceAudioConverter) { TDebug.out("<JorbisFormatConversionProvider.getAudioInputStream(): end"); }
return convertedAudioInputStream;
}
示例9: getDefaultTargetFormat
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
protected AudioFormat getDefaultTargetFormat(AudioFormat targetFormat, AudioFormat sourceFormat)
{
if (TDebug.TraceAudioConverter) { TDebug.out("JorbisFormatConversionProvider.getDefaultTargetFormat(): target format: " + targetFormat); }
if (TDebug.TraceAudioConverter) { TDebug.out("JorbisFormatConversionProvider.getDefaultTargetFormat(): source format: " + sourceFormat); }
AudioFormat newTargetFormat = null;
// return first of the matching formats
// pre-condition: the predefined target formats (FORMATS2) must be well-defined !
Iterator iterator=getCollectionTargetFormats().iterator();
while (iterator.hasNext())
{
AudioFormat format = (AudioFormat) iterator.next();
if (AudioFormats.matches(targetFormat, format))
{
newTargetFormat = format;
}
}
if (newTargetFormat == null)
{
throw new IllegalArgumentException("conversion not supported");
}
if (TDebug.TraceAudioConverter) { TDebug.out("JorbisFormatConversionProvider.getDefaultTargetFormat(): new target format: " + newTargetFormat); }
// hacked together...
// ... only works for PCM target encoding ...
newTargetFormat = new AudioFormat(targetFormat.getEncoding(),
sourceFormat.getSampleRate(),
newTargetFormat.getSampleSizeInBits(),
newTargetFormat.getChannels(),
newTargetFormat.getFrameSize(),
sourceFormat.getSampleRate(),
newTargetFormat.isBigEndian());
if (TDebug.TraceAudioConverter) { TDebug.out("JorbisFormatConversionProvider.getDefaultTargetFormat(): really new target format: " + newTargetFormat); }
return newTargetFormat;
}
示例10: DecodedJorbisAudioInputStream
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
/**
* Constructor.
*/
public DecodedJorbisAudioInputStream(AudioFormat outputFormat, AudioInputStream bitStream)
{
super(outputFormat, AudioSystem.NOT_SPECIFIED);
if (TDebug.TraceAudioConverter) { TDebug.out("DecodedJorbisAudioInputStream.<init>(): begin"); }
m_oggBitStream = bitStream;
m_bHeadersExpected = true;
init_jorbis();
if (TDebug.TraceAudioConverter) { TDebug.out("DecodedJorbisAudioInputStream.<init>(): end"); }
}
示例11: processComments
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
/**
*/
private void processComments()
{
byte[][] ptr = m_vorbisComment.user_comments;
String currComment = "";
m_songComments.clear();
for (int j = 0; j < ptr.length; j++)
{
if (ptr[j] == null)
{
break;
}
currComment = (new String(ptr[j], 0, ptr[j].length - 1)).trim();
m_songComments.add(currComment);
if (currComment.toUpperCase().startsWith("ARTIST"))
{
String artistLabelValue = currComment.substring(7);
}
else if (currComment.toUpperCase().startsWith("TITLE"))
{
String titleLabelValue = currComment.substring(6);
String miniDragLabel = currComment.substring(6);
}
if (TDebug.TraceAudioConverter) TDebug.out("Comment: " + currComment);
}
currComment = "Bitstream: " + m_vorbisInfo.channels + " channel," + m_vorbisInfo.rate + "Hz";
m_songComments.add(currComment);
if (TDebug.TraceAudioConverter) TDebug.out(currComment);
if (TDebug.TraceAudioConverter) currComment = "Encoded by: " + new String(m_vorbisComment.vendor, 0, m_vorbisComment.vendor.length - 1);
m_songComments.add(currComment);
if (TDebug.TraceAudioConverter) TDebug.out(currComment);
}
示例12: outputSamples
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
/**
* This routine was extracted so that when the output buffer fills up,
* we can break out of the loop, let the music channel drain, then
* continue from where we were.
*/
private void outputSamples()
{
int samples;
while((samples = vorbisDspState.synthesis_pcmout(_pcmf, _index)) > 0)
{
float[][] pcmf = _pcmf[0];
bout = (samples < convsize ? samples : convsize);
double fVal = 0.0;
// convert doubles to 16 bit signed ints (host order) and
// interleave
for(i = 0; i < vorbisInfo.channels; i++)
{
int pointer = i * 2;
//int ptr=i;
int mono = _index[i];
for(int j = 0; j < bout; j++)
{
fVal = pcmf[i][mono + j] * 32767.;
int val = (int) (fVal);
if(val > 32767)
{
val = 32767;
}
if(val < -32768)
{
val = -32768;
}
if(val < 0)
{
val = val | 0x8000;
}
convbuffer[pointer] = (byte) (val);
convbuffer[pointer + 1] = (byte) (val >>> 8);
pointer += 2 * (vorbisInfo.channels);
}
}
if(TDebug.TraceAudioConverter) TDebug.out("about to write: " + 2 * vorbisInfo.channels * bout);
if(getCircularBuffer().availableWrite() < 2 * vorbisInfo.channels * bout)
{
if(TDebug.TraceAudioConverter) TDebug.out("Too much data in this data packet, better return, let the channel drain, and try again...");
playState = playState_BufferFull;
return;
}
getCircularBuffer().write(convbuffer, 0, 2 * vorbisInfo.channels * bout);
if(bytes < bufferSize_)
if(TDebug.TraceAudioConverter) TDebug.out("Finished with final buffer of music?");
if(vorbisDspState.synthesis_read(bout) != 0)
{
if(TDebug.TraceAudioConverter) TDebug.out("VorbisDspState.synthesis_read returned -1.");
}
} // while(samples...)
playState = playState_ReadData;
}
示例13: initParams
import org.tritonus.share.TDebug; //导入方法依赖的package包/类
private void initParams(AudioFormat sourceFormat, int bitRate, int channelMode, int quality, boolean VBR) {
// simple check that bitrate is not too high for MPEG2 and MPEG2.5
// todo: exception ?
if (sourceFormat.getSampleRate()<32000 && bitRate>160) {
bitRate=160;
}
if (TDebug.TraceAudioConverter) {
TDebug.out("LAME parameters: channels="+sourceFormat.getChannels()
+" sample rate="+((int) Math.round(sourceFormat.getSampleRate())+"Hz")
+" bitrate="+bitRate+"KBit/s");
TDebug.out(" channelMode="+chmode2string(channelMode)
+" quality="+quality2string(quality)
+" VBR="+VBR+" bigEndian="+sourceFormat.isBigEndian());
}
int result=nInitParams(sourceFormat.getChannels(), (int) Math.round(sourceFormat.getSampleRate()),
bitRate, channelMode, quality,
VBR, sourceFormat.isBigEndian());
if (result<0) {
handleNativeException(result);
throw new IllegalArgumentException(
"parameters not supported by LAME (returned "+result+")");
}
// provide effective parameters to user-space
try {
System.setProperty(PROPERTY_PREFIX + "effective.quality",
quality2string(getEffectiveQuality()));
System.setProperty(PROPERTY_PREFIX + "effective.bitrate",
String.valueOf(getEffectiveBitRate()));
System.setProperty(PROPERTY_PREFIX + "effective.chmode",
chmode2string(getEffectiveChannelMode()));
System.setProperty(PROPERTY_PREFIX + "effective.vbr",
String.valueOf(getEffectiveVBR()));
System.setProperty(PROPERTY_PREFIX + "effective.samplerate",
String.valueOf(getEffectiveSampleRate()));
System.setProperty(PROPERTY_PREFIX + "effective.encoding",
getEffectiveEncoding().toString());
System.setProperty(PROPERTY_PREFIX + "encoder.version",
getEncoderVersion());
}
catch (Throwable t)
{
if (TDebug.TraceAllExceptions)
{
TDebug.out(t);
}
}
}