예제 #1
0
 public override void ReadMetadata()
 {
     PrimitiveReader reader = new PrimitiveReader( this );
     while( true ) {
         string header = reader.ReadASCIIString( 4 );
         if( header == "TAG+" ) { // ID3 1.1 Extended tag
             ReadID31Extended( reader );
         } else if( header.StartsWith( "TAG" ) ) { // ID3 1
             reader.Seek( -1, SeekOrigin.Current );
             ReadID31( reader );
         } else if( header.StartsWith( "ID3" ) ) { // ID3 2
             ID3v2Frame tag = new ID3v2Frame( this, reader, (byte)header[3] );
         } else {
             // Unrecognised header, it's probably the start of the actual MPEG audio stream.
             reader.Seek( -4, SeekOrigin.Current );
             break;
         }
     }
 }