當前位置: 首頁>>代碼示例>>C#>>正文


C# DataPacket.ReadInt32方法代碼示例

本文整理匯總了C#中NVorbis.DataPacket.ReadInt32方法的典型用法代碼示例。如果您正苦於以下問題:C# DataPacket.ReadInt32方法的具體用法?C# DataPacket.ReadInt32怎麽用?C# DataPacket.ReadInt32使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在NVorbis.DataPacket的用法示例。


在下文中一共展示了DataPacket.ReadInt32方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: ProcessStreamHeader

 private void ProcessStreamHeader(DataPacket packet)
 {
   this._pagesSeen.Add(packet.PageSequenceNumber);
   long bitsRead = packet.BitsRead;
   if (packet.ReadInt32() != 0)
     throw new InvalidDataException("Only Vorbis stream version 0 is supported.");
   this._channels = (int) packet.ReadByte();
   this._sampleRate = packet.ReadInt32();
   this._upperBitrate = packet.ReadInt32();
   this._nominalBitrate = packet.ReadInt32();
   this._lowerBitrate = packet.ReadInt32();
   this.Block0Size = 1 << (int) packet.ReadBits(4);
   this.Block1Size = 1 << (int) packet.ReadBits(4);
   if (this._nominalBitrate == 0 && this._upperBitrate > 0 && this._lowerBitrate > 0)
     this._nominalBitrate = (this._upperBitrate + this._lowerBitrate) / 2;
   this._metaBits += packet.BitsRead - bitsRead + 8L;
   this._wasteHdrBits += (long) (8 * packet.Length) - packet.BitsRead;
 }
開發者ID:tanis2000,項目名稱:FEZ,代碼行數:18,代碼來源:VorbisStreamDecoder.cs

示例2: LoadComments

 private void LoadComments(DataPacket packet)
 {
   packet.SkipBits(8);
   if (!Enumerable.SequenceEqual<byte>((IEnumerable<byte>) packet.ReadBytes(6), (IEnumerable<byte>) new byte[6]
   {
     (byte) 118,
     (byte) 111,
     (byte) 114,
     (byte) 98,
     (byte) 105,
     (byte) 115
   }))
     throw new InvalidDataException("Corrupted comment header!");
   this._glueBits += 56L;
   this._vendor = Encoding.UTF8.GetString(packet.ReadBytes(packet.ReadInt32()));
   this._comments = new string[packet.ReadInt32()];
   for (int index = 0; index < this._comments.Length; ++index)
     this._comments[index] = Encoding.UTF8.GetString(packet.ReadBytes(packet.ReadInt32()));
   this._metaBits += packet.BitsRead - 56L;
   this._wasteHdrBits += (long) (8 * packet.Length) - packet.BitsRead;
 }
開發者ID:tanis2000,項目名稱:FEZ,代碼行數:21,代碼來源:VorbisStreamDecoder.cs

示例3: ProcessStreamHeader

        void ProcessStreamHeader(DataPacket packet)
        {
            _pagesSeen.Add(packet.PageSequenceNumber);

            var startPos = packet.BitsRead;

            if (packet.ReadInt32() != 0) throw new ArgumentException("Only Vorbis stream version 0 is supported.");

            _channels = packet.ReadByte();
            _sampleRate = packet.ReadInt32();
            _upperBitrate = packet.ReadInt32();
            _nominalBitrate = packet.ReadInt32();
            _lowerBitrate = packet.ReadInt32();

            Block0Size = 1 << (int)packet.ReadBits(4);
            Block1Size = 1 << (int)packet.ReadBits(4);

            if (_nominalBitrate == 0)
            {
                if (_upperBitrate > 0 && _lowerBitrate > 0)
                {
                    _nominalBitrate = (_upperBitrate + _lowerBitrate) / 2;
                }
            }

            _metaBits += packet.BitsRead - startPos + 8;

            _wasteHdrBits += 8 * packet.Length - packet.BitsRead;
        }
開發者ID:Daramkun,項目名稱:Misty,代碼行數:29,代碼來源:VorbisStreamDecoder.cs

示例4: LoadComments

        void LoadComments(DataPacket packet)
        {
            byte [] temp;

            packet.SkipBits(8);
            if (!packet.ReadBytes(6).SequenceEqual(new byte[] { 0x76, 0x6f, 0x72, 0x62, 0x69, 0x73 })) throw new ArgumentException("Corrupted comment header!");

            _glueBits += 56;

            temp = packet.ReadBytes ( packet.ReadInt32 () );
            _vendor = Encoding.UTF8.GetString ( temp, 0, temp.Length );

            _comments = new string[packet.ReadInt32()];
            for (int i = 0; i < _comments.Length; i++)
            {
                temp = packet.ReadBytes ( packet.ReadInt32 () );
                _comments[i] = Encoding.UTF8.GetString( temp, 0, temp.Length );
            }

            _metaBits += packet.BitsRead - 56;
            _wasteHdrBits += 8 * packet.Length - packet.BitsRead;
        }
開發者ID:Daramkun,項目名稱:Misty,代碼行數:22,代碼來源:VorbisStreamDecoder.cs

示例5: ProcessStreamHeader

        bool ProcessStreamHeader(DataPacket packet)
        {
            bool equal = true;
            byte[] sequence = new byte[] { 0x01, 0x76, 0x6f, 0x72, 0x62, 0x69, 0x73 };
            byte[] packets  = packet.ReadBytes(7);

            for (int i = 0; i < 7; i++)
            {
                if (packets[i] != sequence[i])
                {
                    equal = false;
                    break;
                }
            }

            if (!equal)
            {
                // don't mark the packet as done... it might be used elsewhere
                _glueBits += packet.Length * 8;
                return false;
            }

            if (!_pagesSeen.Contains((_lastPageSeen = packet.PageSequenceNumber))) _pagesSeen.Add(_lastPageSeen);

            _glueBits += 56;

            var startPos = packet.BitsRead;

            if (packet.ReadInt32() != 0) throw new InvalidDataException("Only Vorbis stream version 0 is supported.");

            _channels = packet.ReadByte();
            _sampleRate = packet.ReadInt32();
            _upperBitrate = packet.ReadInt32();
            _nominalBitrate = packet.ReadInt32();
            _lowerBitrate = packet.ReadInt32();

            Block0Size = 1 << (int)packet.ReadBits(4);
            Block1Size = 1 << (int)packet.ReadBits(4);

            if (_nominalBitrate == 0)
            {
                if (_upperBitrate > 0 && _lowerBitrate > 0)
                {
                    _nominalBitrate = (_upperBitrate + _lowerBitrate) / 2;
                }
            }

            _metaBits += packet.BitsRead - startPos + 8;

            _wasteHdrBits += 8 * packet.Length - packet.BitsRead;

            return true;
        }
開發者ID:SirusDoma,項目名稱:nvorbis,代碼行數:53,代碼來源:VorbisStreamDecoder.cs

示例6: LoadComments

        bool LoadComments(DataPacket packet)
        {
            bool equal = true;
            byte[] sequence = new byte[] { 0x03, 0x76, 0x6f, 0x72, 0x62, 0x69, 0x73 };
            byte[] packets  = packet.ReadBytes(7);

            for (int i = 0; i < 7; i++)
            {
                if (packets[i] != sequence[i])
                {
                    equal = false;
                    break;
                }
            }

            if (!equal)
            {
                return false;
            }

            if (!_pagesSeen.Contains((_lastPageSeen = packet.PageSequenceNumber))) _pagesSeen.Add(_lastPageSeen);

            _glueBits += 56;

            _vendor = Encoding.UTF8.GetString(packet.ReadBytes(packet.ReadInt32()));

            _comments = new string[packet.ReadInt32()];
            for (int i = 0; i < _comments.Length; i++)
            {
                _comments[i] = Encoding.UTF8.GetString(packet.ReadBytes(packet.ReadInt32()));
            }

            _metaBits += packet.BitsRead - 56;
            _wasteHdrBits += 8 * packet.Length - packet.BitsRead;

            return true;
        }
開發者ID:SirusDoma,項目名稱:nvorbis,代碼行數:37,代碼來源:VorbisStreamDecoder.cs

示例7: LoadComments

        bool LoadComments(DataPacket packet)
        {
            if (!packet.ReadBytes(7).SequenceEqual(new byte[] { 0x03, 0x76, 0x6f, 0x72, 0x62, 0x69, 0x73 }))
            {
                return false;
            }

            if (!_pagesSeen.Contains((_lastPageSeen = packet.PageSequenceNumber))) _pagesSeen.Add(_lastPageSeen);

            _glueBits += 56;

            byte[] vs = packet.ReadBytes(packet.ReadInt32());
            _vendor = Encoding.UTF8.GetString(vs,0,vs.Length);

            _comments = new string[packet.ReadInt32()];
            for (int i = 0; i < _comments.Length; i++)
            {
                vs = packet.ReadBytes(packet.ReadInt32());
                _comments[i] = Encoding.UTF8.GetString(vs,0,vs.Length);
            }

            _metaBits += packet.BitsRead - 56;
            _wasteHdrBits += 8 * packet.Length - packet.BitsRead;

            return true;
        }
開發者ID:YJh2046,項目名稱:BlockFun,代碼行數:26,代碼來源:VorbisStreamDecoder.cs


注:本文中的NVorbis.DataPacket.ReadInt32方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。