本文整理汇总了C#中javax.getSampleRate方法的典型用法代码示例。如果您正苦于以下问题:C# javax.getSampleRate方法的具体用法?C# javax.getSampleRate怎么用?C# javax.getSampleRate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax
的用法示例。
在下文中一共展示了javax.getSampleRate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: getTargetFormats
/// <summary>
/// Obtains the set of target formats with the encoding specified supported by
/// the format converter.
/// </summary>
/// <remarks>
/// Obtains the set of target formats with the encoding specified supported by
/// the format converter. If no target formats with the specified encoding are
/// supported for this source format, an array of length 0 is returned.
/// </remarks>
/// <param name="targetEncoding">desired encoding of the outgoing data.</param>
/// <param name="sourceFormat">format of the incoming data.</param>
/// <returns>array of supported target formats.</returns>
public override javax.sound.sampled.AudioFormat[] getTargetFormats(javax.sound.sampled.AudioFormat.Encoding
targetEncoding, javax.sound.sampled.AudioFormat sourceFormat)
{
if (sourceFormat.getEncoding().Equals(javax.sound.sampled.AudioFormat.Encoding.PCM_SIGNED
) && targetEncoding is org.xiph.speex.spi.SpeexEncoding)
{
if (sourceFormat.getChannels() > 2 || sourceFormat.getChannels() <= 0 || sourceFormat
.isBigEndian())
{
javax.sound.sampled.AudioFormat[] formats = new javax.sound.sampled.AudioFormat[]
{ };
return formats;
}
else
{
javax.sound.sampled.AudioFormat[] formats = new javax.sound.sampled.AudioFormat[]
{ new javax.sound.sampled.AudioFormat(targetEncoding, sourceFormat.getSampleRate
(), -1, sourceFormat.getChannels(), -1, -1, false) };
// sample size in bits
// frame size
// frame rate
// little endian
return formats;
}
}
else
{
if (sourceFormat.getEncoding() is org.xiph.speex.spi.SpeexEncoding && targetEncoding
.Equals(javax.sound.sampled.AudioFormat.Encoding.PCM_SIGNED))
{
javax.sound.sampled.AudioFormat[] formats = new javax.sound.sampled.AudioFormat[]
{ new javax.sound.sampled.AudioFormat(sourceFormat.getSampleRate(), 16, sourceFormat
.getChannels(), true, false) };
// sample size in bits
// signed
// little endian (for PCM wav)
return formats;
}
else
{
javax.sound.sampled.AudioFormat[] formats = new javax.sound.sampled.AudioFormat[]
{ };
return formats;
}
}
}
示例2: Pcm2SpeexAudioInputStream
/// <summary>Constructor</summary>
/// <param name="mode">the mode of the encoder (0=NB, 1=WB, 2=UWB).</param>
/// <param name="quality">the quality setting of the encoder (between 0 and 10).</param>
/// <param name="in">the underlying input stream.</param>
/// <param name="format">the target format of this stream's audio data.</param>
/// <param name="length">the length in sample frames of the data in this stream.</param>
/// <param name="size">the buffer size.</param>
/// <exception>
/// IllegalArgumentException
/// if size <= 0.
/// </exception>
public Pcm2SpeexAudioInputStream(int mode, int quality, java.io.InputStream @in,
javax.sound.sampled.AudioFormat format, long length, int size)
: base(@in, format
, length, size)
{
// public static final boolean DEFAULT_VBR = true;
// .4s of audio
// Speex variables
// Ogg variables
// Ogg initialisation
granulepos = 0;
if (streamSerialNumber == 0)
{
streamSerialNumber = new java.util.Random().nextInt();
}
packetsPerOggPage = DEFAULT_PACKETS_PER_OGG_PAGE;
packetCount = 0;
pageCount = 0;
// Speex initialisation
framesPerPacket = DEFAULT_FRAMES_PER_PACKET;
int samplerate = (int)format.getSampleRate();
if (samplerate < 0)
{
samplerate = DEFAULT_SAMPLERATE;
}
channels = format.getChannels();
if (channels < 0)
{
channels = DEFAULT_CHANNELS;
}
if (mode < 0)
{
mode = (samplerate < 12000) ? 0 : ((samplerate < 24000) ? 1 : 2);
}
this.mode = mode;
javax.sound.sampled.AudioFormat.Encoding encoding = format.getEncoding();
if (quality < 0)
{
if (encoding is org.xiph.speex.spi.SpeexEncoding)
{
quality = ((org.xiph.speex.spi.SpeexEncoding)encoding).getQuality();
}
else
{
quality = DEFAULT_QUALITY;
}
}
encoder = new org.xiph.speex.SpeexEncoder();
encoder.init(mode, quality, samplerate, channels);
if (encoding is org.xiph.speex.spi.SpeexEncoding && ((org.xiph.speex.spi.SpeexEncoding
)encoding).isVBR())
{
setVbr(true);
}
else
{
setVbr(false);
}
frameSize = 2 * channels * encoder.getFrameSize();
// Misc initialsation
comment = "Encoded with " + org.xiph.speex.SpeexEncoder.VERSION;
first = true;
}