本文整理汇总了C#中Decoder.DecodeBlock方法的典型用法代码示例。如果您正苦于以下问题:C# Decoder.DecodeBlock方法的具体用法?C# Decoder.DecodeBlock怎么用?C# Decoder.DecodeBlock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Decoder
的用法示例。
在下文中一共展示了Decoder.DecodeBlock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DecodeBlocksStream
public static IEnumerable<StereoShortSoundSample> DecodeBlocksStream(Block[] Blocks)
{
var DecodedBlock = new short[28];
var Decoder = new Decoder();
int SamplesOffset = 0;
bool Ended = false;
var LastSample = default(StereoShortSoundSample);
var CurrentSample = default(StereoShortSoundSample);
for (int n = 0; !Ended && (n < Blocks.Length); n++)
{
var CurrentBlock = Blocks[n];
SamplesOffset = 0;
Decoder.DecodeBlock(CurrentBlock, DecodedBlock, ref SamplesOffset);
switch (CurrentBlock.Type)
{
case Block.TypeEnum.None:
// 16 bytes = 56 stereo 44100 samples
foreach (var DecodedMonoSample in DecodedBlock)
{
CurrentSample = new StereoShortSoundSample(DecodedMonoSample, DecodedMonoSample);
yield return StereoShortSoundSample.Mix(LastSample, CurrentSample);
yield return CurrentSample;
LastSample = CurrentSample;
}
break;
case Block.TypeEnum.End:
Ended = true;
break;
}
}
}