本文整理汇总了C#中BinaryReaderEx.Read方法的典型用法代码示例。如果您正苦于以下问题:C# BinaryReaderEx.Read方法的具体用法?C# BinaryReaderEx.Read怎么用?C# BinaryReaderEx.Read使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BinaryReaderEx
的用法示例。
在下文中一共展示了BinaryReaderEx.Read方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadFile
public void LoadFile(BinaryReaderEx reader)
{
reader.BaseStream.Position = 4;
this.Unknown = reader.ReadInt32();
this.ContentLength = reader.ReadInt32();
this.IsEncoded = (reader.ReadByte() == 0xFF);
byte[] data = new byte[this.ContentLength];
reader.Read(data, 0, this.ContentLength);
if (this.IsEncoded)
{
for (var i = 0; i < data.Length; i++)
{
data[i] ^= 0x73;
}
}
this.Data = data;
this.DataAsString = Encoding.UTF8.GetString(data);
}
示例2: ReadEncodedData
public void ReadEncodedData(BinaryReaderEx reader)
{
long encodedDataLen = reader.BaseStream.Length - 8;
this.encodedData = new byte[encodedDataLen];
this.decodedData = new byte[encodedDataLen];
reader.Read(encodedData, 0, (int)encodedDataLen);
}
示例3: DecodeWave
public void DecodeWave(BinaryReaderEx reader)
{
byte[] oggData = new byte[this.WaveHeader.DataLength];
reader.Read(oggData, 0, this.WaveHeader.DataLength);
oggDataStream = new System.IO.MemoryStream(oggData, false);
vorbisFile = new csvorbis.VorbisFile(oggDataStream, null, 0);
csvorbis.Info vorbisInfo = vorbisFile.getInfo(0);
this.WaveFormat = new SlimDX.Multimedia.WaveFormat();
this.WaveFormat.FormatTag = SlimDX.Multimedia.WaveFormatTag.Pcm;
this.WaveFormat.Channels = (short)vorbisInfo.channels;
this.WaveFormat.BitsPerSample = 16;
this.WaveFormat.SamplesPerSecond = vorbisInfo.rate;
this.WaveFormat.BlockAlignment = (short)(this.WaveFormat.Channels * 2); // 16 bits * number of channels
this.WaveFormat.AverageBytesPerSecond = this.WaveFormat.SamplesPerSecond * this.WaveFormat.BlockAlignment;
this.NumChannels = this.WaveFormat.Channels;
this.SamplingRate = vorbisInfo.rate;
this.NumStreams = vorbisFile.streams();
this.TimeTotal = vorbisFile.time_total(0);
this.PcmSamples = vorbisFile.pcm_total(0);
this.BitRate = vorbisFile.bitrate(0);
this.StreamLength = (int)(this.PcmSamples * this.WaveFormat.BlockAlignment); // numSamples * numChannels * bytes per sample
}