当前位置: 首页>>代码示例>>C#>>正文


C# ID3v2TagVersion类代码示例

本文整理汇总了C#中ID3v2TagVersion的典型用法代码示例。如果您正苦于以下问题:C# ID3v2TagVersion类的具体用法?C# ID3v2TagVersion怎么用?C# ID3v2TagVersion使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ID3v2TagVersion类属于命名空间,在下文中一共展示了ID3v2TagVersion类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetBytes

        public override byte[] GetBytes(ID3v2TagVersion tagVersion)
        {
            if (Items.Count == 0)
                return new byte[0];

            // Set TextEncoding to Unicode/UTF8 if required
            if (TextEncoding == EncodingType.ISO88591)
            {
                foreach (ILanguageItem languageItem in Items)
                {
                    byte[] languageCodeData = ID3v2Utils.GetStringBytes(tagVersion, TextEncoding, languageItem.LanguageCode, true);
                    this.RequiresFix(tagVersion, languageItem.LanguageCode, languageCodeData);
                }
            }

            using (MemoryStream frameData = new MemoryStream())
            {
                frameData.WriteByte((byte)TextEncoding);
                bool isTerminated = true; //(tagVersion == TagVersion.ID3v24);
                for (int i = 0; i < Items.Count; i++)
                {
                    ILanguageItem languageItem = Items[i];
                    if (i == Items.Count - 1)
                        isTerminated = false;
                    frameData.Write(ID3v2Utils.GetStringBytes(tagVersion, TextEncoding, languageItem.LanguageCode, isTerminated));
                }
                return _frameHeader.GetBytes(frameData, tagVersion, GetFrameID(tagVersion));
            }
        }
开发者ID:kiliman,项目名称:IdSharp,代码行数:29,代码来源:LanguageFrame.cs

示例2: GetAllFrames

        internal List<IFrame> GetAllFrames(ID3v2TagVersion tagVersion, string frameID)
        {
            if (string.IsNullOrEmpty(frameID))
                throw new ArgumentNullException("frameID");

            return GetAllFrames(tagVersion, new List<string> { frameID });
        }
开发者ID:Rashed-Hoque,项目名称:IdSharp,代码行数:7,代码来源:FrameContainer.cs

示例3: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if ((this.m_PictureData == null) || (this.m_PictureData.Length == 0))
     {
         return new byte[0];
     }
     this.TextEncoding = EncodingType.ISO88591;
     using (MemoryStream stream1 = new MemoryStream())
     {
         stream1.WriteByte((byte) this.m_TextEncoding);
         if (tagVersion == ID3v2TagVersion.ID3v22)
         {
             string text1 = this.PictureExtension;
             if (string.IsNullOrEmpty(text1) || (text1.Length < 3))
             {
                 text1 = "   ";
             }
             else if (text1.Length > 3)
             {
                 text1 = text1.Substring(0, 3);
             }
             Utils.Write(stream1, Encoding.ASCII.GetBytes(text1));
         }
         else
         {
             this.SetMimeType();
             Utils.Write(stream1, Utils.ISO88591GetBytes(this.m_MimeType));
             stream1.WriteByte(0);
         }
         stream1.WriteByte((byte) this.m_PictureType);
         Utils.Write(stream1, Utils.GetStringBytes(tagVersion, this.m_TextEncoding, this.m_Description, true));
         Utils.Write(stream1, this.m_PictureData);
         return this.m_FrameHeader.GetBytes(stream1, tagVersion, this.GetFrameID(tagVersion));
     }
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:35,代码来源:AttachedPicture.cs

示例4: GetBytes

        public override byte[] GetBytes(ID3v2TagVersion tagVersion)
        {
            if (Position == 0)
                return new byte[0];

            throw new NotImplementedException();
        }
开发者ID:kiliman,项目名称:IdSharp,代码行数:7,代码来源:PositionSynchronization.cs

示例5: Commercial

        public static void Commercial(ID3v2TagVersion tagVersion, bool useLogo)
        {
            if (tagVersion == ID3v2TagVersion.ID3v22)
                throw new NotSupportedException();

            IID3v2Tag id3 = new ID3v2Tag();
            ICommercial aud = id3.CommercialInfoList.AddNew();

            using (MemoryStream ms = new MemoryStream())
            {
                ms.WriteByte(0); // text encoding
                Write(ms, Encoding.ASCII.GetBytes("usd10.00/cad15.00"));
                ms.WriteByte(0); // terminate
                Write(ms, Encoding.ASCII.GetBytes("20070610"));
                Write(ms, Encoding.ASCII.GetBytes("www.google.com"));
                ms.WriteByte(0); // terminate
                ms.WriteByte((byte)ReceivedAs.FileOverTheInternet);
                Write(ms, Encoding.ASCII.GetBytes("name of seller"));
                ms.WriteByte(0); // terminate
                Write(ms, Encoding.ASCII.GetBytes("description"));
                ms.WriteByte(0); // terminate
                if (useLogo)
                {
                    Write(ms, Encoding.ASCII.GetBytes("image/jpeg"));
                    ms.WriteByte(0); // terminate
                    Write(ms, new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04 });
                }

                TestFrame(aud, tagVersion, ms.ToArray());
            }
        }
开发者ID:judwhite,项目名称:IdSharp,代码行数:31,代码来源:Frames.cs

示例6: GetBytes

        public override byte[] GetBytes(ID3v2TagVersion tagVersion)
        {
            if (_encapsulatedObject == null || _encapsulatedObject.Length == 0)
                return new byte[0];

            using (MemoryStream frameData = new MemoryStream())
            {
                byte[] fileNameData;
                byte[] descriptionData;

                do
                {
                    fileNameData = ID3v2Utils.GetStringBytes(tagVersion, TextEncoding, FileName, true);
                    descriptionData = ID3v2Utils.GetStringBytes(tagVersion, TextEncoding, Description, true);
                } while (
                    this.RequiresFix(tagVersion, FileName, fileNameData) ||
                    this.RequiresFix(tagVersion, Description, descriptionData)
                );

                frameData.WriteByte((byte)TextEncoding);
                frameData.Write(ID3v2Utils.GetStringBytes(tagVersion, EncodingType.ISO88591, MimeType, true));
                frameData.Write(fileNameData);
                frameData.Write(descriptionData);
                frameData.Write(_encapsulatedObject);

                return _frameHeader.GetBytes(frameData, tagVersion, GetFrameID(tagVersion));
            }
        }
开发者ID:Rashed-Hoque,项目名称:IdSharp,代码行数:28,代码来源:GeneralEncapsulatedObject.cs

示例7: GetBytes

        public override byte[] GetBytes(ID3v2TagVersion tagVersion)
        {
            // TODO: Test

            if (string.IsNullOrEmpty(Text))
                return new byte[0];

            byte[] contentDescriptorData;
            byte[] textData;
            do
            {
                contentDescriptorData = ID3v2Utils.GetStringBytes(tagVersion, TextEncoding, ContentDescriptor, true);
                textData = ID3v2Utils.GetStringBytes(tagVersion, TextEncoding, Text, false);
            } while (
                this.RequiresFix(tagVersion, ContentDescriptor, contentDescriptorData) ||
                this.RequiresFix(tagVersion, Text, textData)
            );

            using (MemoryStream frameData = new MemoryStream())
            {
                frameData.WriteByte((byte)TextEncoding);
                frameData.Write(ByteUtils.ISO88591GetBytes(LanguageCode));
                frameData.Write(contentDescriptorData);
                frameData.Write(textData);
                return _frameHeader.GetBytes(frameData, tagVersion, GetFrameID(tagVersion));
            }
        }
开发者ID:Rashed-Hoque,项目名称:IdSharp,代码行数:27,代码来源:UnsynchronizedText.cs

示例8: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if ((this.m_AdditionalData == null) && (this.m_AdditionalData.Length == 0))
     {
         return new byte[0];
     }
     if (tagVersion == ID3v2TagVersion.ID3v22)
     {
         if ((this.m_FrameIdentifier == null) || (this.m_FrameIdentifier.Length != 3))
         {
             return new byte[0];
         }
     }
     else if ((this.m_FrameIdentifier == null) || (this.m_FrameIdentifier.Length != 4))
     {
         return new byte[0];
     }
     using (MemoryStream stream1 = new MemoryStream())
     {
         Utils.Write(stream1, Utils.ISO88591GetBytes(this.m_FrameIdentifier));
         Utils.Write(stream1, Utils.GetStringBytes(tagVersion, EncodingType.ISO88591, this.m_Url, true));
         Utils.Write(stream1, this.m_AdditionalData);
         return this.m_FrameHeader.GetBytes(stream1, tagVersion, this.GetFrameID(tagVersion));
     }
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:25,代码来源:LinkedInformation.cs

示例9: GetBytes

        public override byte[] GetBytes(ID3v2TagVersion tagVersion)
        {
            if (_additionalData == null || _additionalData.Length == 0)
                return new byte[0];

            if (tagVersion == ID3v2TagVersion.ID3v22)
            {
                if (_frameIdentifier == null || _frameIdentifier.Length != 3)
                    return new byte[0];
            }
            else
            {
                if (_frameIdentifier == null || _frameIdentifier.Length != 4)
                    return new byte[0];
            }

            using (MemoryStream frameData = new MemoryStream())
            {
                frameData.Write(ByteUtils.ISO88591GetBytes(_frameIdentifier));
                frameData.Write(ID3v2Utils.GetStringBytes(tagVersion, EncodingType.ISO88591, _url, true));
                frameData.Write(_additionalData);

                return _frameHeader.GetBytes(frameData, tagVersion, GetFrameID(tagVersion));
            }
        }
开发者ID:kiliman,项目名称:IdSharp,代码行数:25,代码来源:LinkedInformation.cs

示例10: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if (this.Items.Count == 0)
     {
         return new byte[0];
     }
     using (MemoryStream stream1 = new MemoryStream())
     {
         stream1.WriteByte((byte) this.m_TextEncoding);
         bool flag1 = false;
         using (IEnumerator<IInvolvedPerson> enumerator1 = this.Items.GetEnumerator())
         {
             while (enumerator1.MoveNext())
             {
                 IInvolvedPerson person1 = enumerator1.Current;
                 if (!string.IsNullOrEmpty(person1.Involvement) || !string.IsNullOrEmpty(person1.Name))
                 {
                     Utils.Write(stream1, Utils.GetStringBytes(tagVersion, this.m_TextEncoding, person1.Involvement, true));
                     Utils.Write(stream1, Utils.GetStringBytes(tagVersion, this.m_TextEncoding, person1.Name, true));
                     flag1 = true;
                 }
             }
         }
         if (!flag1)
         {
             return new byte[0];
         }
         return this.m_FrameHeader.GetBytes(stream1, tagVersion, this.GetFrameID(tagVersion));
     }
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:30,代码来源:InvolvedPersonList.cs

示例11: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if ((this.ReverbLeftMilliseconds != 0) || (this.ReverbRightMilliseconds != 0))
     {
         throw new NotImplementedException();
     }
     return new byte[0];
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:8,代码来源:Reverb.cs

示例12: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if (this.Items.Count != 0)
     {
         throw new NotImplementedException();
     }
     return new byte[0];
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:8,代码来源:MusicianCreditsList.cs

示例13: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if (((this.IndexedDataLength != 0) && (this.BitsPerIndexPoint != 0)) && (this.FractionAtIndex.Count != 0))
     {
         throw new NotImplementedException();
     }
     return new byte[0];
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:8,代码来源:AudioSeekPointIndex.cs

示例14: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if (this.m_MinimumOffsetToNextTag != 0)
     {
         throw new NotImplementedException();
     }
     return new byte[0];
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:8,代码来源:SeekNextTag.cs

示例15: GetBytes

 public byte[] GetBytes(ID3v2TagVersion tagVersion)
 {
     if (this.BufferSize != 0)
     {
         throw new NotImplementedException();
     }
     return new byte[0];
 }
开发者ID:justwee,项目名称:WPF-Projects,代码行数:8,代码来源:RecommendedBufferSize.cs


注:本文中的ID3v2TagVersion类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。