{"id":133,"date":"2007-12-24T17:13:05","date_gmt":"2007-12-24T17:13:05","guid":{"rendered":"http:\/\/pblog.ru\/lab\/?p=16"},"modified":"2007-12-24T17:13:05","modified_gmt":"2007-12-24T17:13:05","slug":"games190","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=133","title":{"rendered":"\u0427\u0442\u0435\u043d\u0438\u0435 mp3 \u0442\u0435\u0433\u043e\u0432"},"content":{"rendered":"<p>\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c mp3 \u0442\u0435\u0433?<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>type\n  TID3Tag = record\n    ID: string[3];\n    Titel: string[30];\n    Artist: string[30];\n    Album: string[30];\n    Year: string[4];\n    Comment: string[30];\n    Genre: Byte;\n  end;\n\nconst\n Genres : array[0..146] of string =\n    ('Blues','Classic Rock','Country','Dance','Disco','Funk','Grunge',\n    'Hip- Hop','Jazz','Metal','New Age','Oldies','Other','Pop','R&B',\n    'Rap','Reggae','Rock','Techno','Industrial','Alternative','Ska',\n    'Death Metal','Pranks','Soundtrack','Euro-Techno','Ambient',\n    'Trip-Hop','Vocal','Jazz+Funk','Fusion','Trance','Classical',\n    'Instrumental','Acid','House','Game','Sound Clip','Gospel','Noise',\n    'Alternative Rock','Bass','Punk','Space','Meditative','Instrumental Pop',\n    'Instrumental Rock','Ethnic','Gothic','Darkwave','Techno-Industrial','Electronic',\n    'Pop-Folk','Eurodance','Dream','Southern Rock','Comedy','Cult','Gangsta',\n    'Top 40','Christian Rap','Pop\/Funk','Jungle','Native US','Cabaret','New Wave',\n    'Psychadelic','Rave','Showtunes','Trailer','Lo-Fi','Tribal','Acid Punk',\n    'Acid Jazz','Polka','Retro','Musical','Rock & Roll','Hard Rock','Folk',\n    'Folk-Rock','National Folk','Swing','Fast Fusion','Bebob','Latin','Revival',\n    'Celtic','Bluegrass','Avantgarde','Gothic Rock','Progressive Rock',\n    'Psychedelic Rock','Symphonic Rock','Slow Rock','Big Band','Chorus',\n    'Easy Listening','Acoustic','Humour','Speech','Chanson','Opera',\n    'Chamber Music','Sonata','Symphony','Booty Bass','Primus','Porn Groove',\n    'Satire','Slow Jam','Club','Tango','Samba','Folklore','Ballad',\n    'Power Ballad','Rhytmic Soul','Freestyle','Duet','Punk Rock','Drum Solo',\n    'Acapella','Euro-House','Dance Hall','Goa','Drum & Bass','Club-House',\n    'Hardcore','Terror','Indie','BritPop','Negerpunk','Polsk Punk','Beat',\n    'Christian Gangsta','Heavy Metal','Black Metal','Crossover','Contemporary C',\n    'Christian Rock','Merengue','Salsa','Thrash Metal','Anime','JPop','SynthPop');\n\n\nvar\n  Form1: TForm1;\n\nimplementation\n\n{$R *.dfm}\n\nfunction readID3Tag(FileName: string): TID3Tag;\nvar\n  FS: TFileStream;\n  Buffer: array [1..128] of Char;\nbegin\n  FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);\n  try\n    FS.Seek(-128, soFromEnd);\n    FS.Read(Buffer, 128);\n    with Result do\n    begin\n      ID      := Copy(Buffer, 1, 3);\n      Titel   := Copy(Buffer, 4, 30);\n      Artist  := Copy(Buffer, 34, 30);\n      Album   := Copy(Buffer, 64, 30);\n      Year    := Copy(Buffer, 94, 4);\n      Comment := Copy(Buffer, 98, 30);\n      Genre   := Ord(Buffer[128]);\n    end;\n  finally\n    FS.Free;\n  end;\nend;\n\nprocedure TfrmMain.Button1Click(Sender: TObject);\nbegin\n  if OpenDialog1.Execute then\n  begin\n    with readID3Tag(OpenDialog1.FileName) do\n    begin\n      LlbID.Caption := 'ID: ' + ID;\n      LlbTitel.Caption := 'Titel: ' + Titel;\n      LlbArtist.Caption := 'Artist: ' + Artist;\n      LlbAlbum.Caption := 'Album: ' + Album;\n      LlbYear.Caption := 'Year: ' + Year;\n      LlbComment.Caption := 'Comment: ' + Comment;\n      if (Genre >= 0) and (Genre <=146) then\n       LlbGenre.Caption := 'Genre: ' + Genres[Genre]\n      else\n       LlbGenre.Caption := 'N\/A';\n    end;\n  end;\nend;\n<\/div><\/pre>\n<p><a href=\"http:\/\/www.programmersforum.ru\/member.php?u=5\">zetrix<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c mp3 \u0442\u0435\u0433?<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,368],"tags":[99,332,356],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/133"}],"collection":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=133"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/133\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=133"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}