Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi mp3 eigenschaften rauslesen und verändern (https://www.delphipraxis.net/48728-mp3-eigenschaften-rauslesen-und-veraendern.html)

XeRo 29. Jun 2005 16:28


mp3 eigenschaften rauslesen und verändern
 
hi. ich möchte aus ner mp3 sämtliche zusatzinformationen rauslesen und auch verändern können wie z.b. titel interpret usw...

weiters möchte ich noch an verschiedenen stellen die lautstärke rauslesen und verändern können sodass ich z.b 10 mp3's auf gleiche lautstärke bringen kann da bei mir manche leise und manche laut sind...das ist sch** beim autofahren :wink:

BenjaminH 29. Jun 2005 16:32

Re: mp3 eigenschaften rauslesen und verändern
 
Hallo
Such mal nach ID3 Tags
Grüße Benjamin

Phistev 29. Jun 2005 16:46

Re: mp3 eigenschaften rauslesen und verändern
 
Das Verändern der Lautstärke nennt man Normalisieren. dafür gibt's schon zig Programme wie MP3Gain

XeRo 29. Jun 2005 16:58

Re: mp3 eigenschaften rauslesen und verändern
 
Zitat:

Zitat von Phistev
Das Verändern der Lautstärke nennt man Normalisieren. dafür gibt's schon zig Programme wie MP3Gain

na und? ich wills selbst machen...soll ja nur eine kleine funtion in einem größeren prog werden

XeRo 30. Jun 2005 12:07

Re: mp3 eigenschaften rauslesen und verändern
 
ich verwende um folgendes script jetzt um die infos auszulesen:
Delphi-Quellcode:
{
  Byte 1-3 = ID 'TAG'
  Byte 4-33 = Titel / Title
  Byte 34-63 = Artist
  Byte 64-93 = Album
  Byte 94-97 = Jahr / Year
  Byte 98-127 = Kommentar / Comment
  Byte 128 = Genre
}


type
  TID3Tag = record
    ID: string[3];
    Titel: string[30];
    Artist: string[30];
    Album: string[30];
    Year: string[4];
    Comment: string[30];
    Genre: Byte;
  end;

const
 Genres : array[0..146] of string =
    ('Blues','Classic Rock','Country','Dance','Disco','Funk','Grunge',
    'Hip- Hop','Jazz','Metal','New Age','Oldies','Other','Pop','R&B',
    'Rap','Reggae','Rock','Techno','Industrial','Alternative','Ska',
    'Death Metal','Pranks','Soundtrack','Euro-Techno','Ambient',
    'Trip-Hop','Vocal','Jazz+Funk','Fusion','Trance','Classical',
    'Instrumental','Acid','House','Game','Sound Clip','Gospel','Noise',
    'Alternative Rock','Bass','Punk','Space','Meditative','Instrumental Pop',
    'Instrumental Rock','Ethnic','Gothic','Darkwave','Techno-Industrial','Electronic',
    'Pop-Folk','Eurodance','Dream','Southern Rock','Comedy','Cult','Gangsta',
    'Top 40','Christian Rap','Pop/Funk','Jungle','Native US','Cabaret','New Wave',
    'Psychadelic','Rave','Showtunes','Trailer','Lo-Fi','Tribal','Acid Punk',
    'Acid Jazz','Polka','Retro','Musical','Rock & Roll','Hard Rock','Folk',
    'Folk-Rock','National Folk','Swing','Fast Fusion','Bebob','Latin','Revival',
    'Celtic','Bluegrass','Avantgarde','Gothic Rock','Progressive Rock',
    'Psychedelic Rock','Symphonic Rock','Slow Rock','Big Band','Chorus',
    'Easy Listening','Acoustic','Humour','Speech','Chanson','Opera',
    'Chamber Music','Sonata','Symphony','Booty Bass','Primus','Porn Groove',
    'Satire','Slow Jam','Club','Tango','Samba','Folklore','Ballad',
    'Power Ballad','Rhytmic Soul','Freestyle','Duet','Punk Rock','Drum Solo',
    'Acapella','Euro-House','Dance Hall','Goa','Drum & Bass','Club-House',
    'Hardcore','Terror','Indie','BritPop','Negerpunk','Polsk Punk','Beat',
    'Christian Gangsta','Heavy Metal','Black Metal','Crossover','Contemporary C',
    'Christian Rock','Merengue','Salsa','Thrash Metal','Anime','JPop','SynthPop');


var
  Form1: TForm1;

implementation

{$R *.dfm}

function readID3Tag(FileName: string): TID3Tag;
var
  FS: TFileStream;
  Buffer: array [1..128] of Char;
begin
  FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
  try
    FS.Seek(-128, soFromEnd);
    FS.Read(Buffer, 128);
    with Result do
    begin
      ID := Copy(Buffer, 1, 3);
      Titel := Copy(Buffer, 4, 30);
      Artist := Copy(Buffer, 34, 30);
      Album := Copy(Buffer, 64, 30);
      Year := Copy(Buffer, 94, 4);
      Comment := Copy(Buffer, 98, 30);
      Genre := Ord(Buffer[128]);
    end;
  finally
    FS.Free;
  end;
end;

procedure TfrmMain.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    with readID3Tag(OpenDialog1.FileName) do
    begin
      LlbID.Caption := 'ID: ' + ID;
      LlbTitel.Caption := 'Titel: ' + Titel;
      LlbArtist.Caption := 'Artist: ' + Artist;
      LlbAlbum.Caption := 'Album: ' + Album;
      LlbYear.Caption := 'Year: ' + Year;
      LlbComment.Caption := 'Comment: ' + Comment;
      if (Genre >= 0) and (Genre <=146) then
       LlbGenre.Caption := 'Genre: ' + Genres[Genre]
      else
       LlbGenre.Caption := 'N/A';
    end;
  end;
end;
Um die Infos zu verändern muss ich vermute ich mal
Delphi-Quellcode:
FS := TFileStream.Create(FileName, fmOpenWrite);
verwenden oder???

und wie kann ich die eigenschaften in den Buffer reinschreiben? mit paste? oder welchen befehl muss ich da verwenden?

Luckie 30. Jun 2005 12:29

Re: mp3 eigenschaften rauslesen und verändern
 
Forensuche: Hier im Forum suchenID3. :roll:

XeRo 15. Aug 2005 10:18

Re: mp3 eigenschaften rauslesen und verändern
 
:| Kennt keiner was zur Normalisieren???

Luckie 15. Aug 2005 10:21

Re: mp3 eigenschaften rauslesen und verändern
 
Mach dafür bitte ein neues Thema auf, hier geht es um die ID3 Tags.

Thanatos81 15. Aug 2005 11:17

Re: mp3 eigenschaften rauslesen und verändern
 
Und schau dir mal die ID3-Komponenten aus der JVCL an. Der Code ist nicht schlecht, hab den selber schon verwendet, aber der nutzt nur ID3v1. Bei allem was neuer ist, bringt er dir nix.

XeRo 15. Aug 2005 11:26

Re: mp3 eigenschaften rauslesen und verändern
 
Zitat:

Zitat von Luckie
Mach dafür bitte ein neues Thema auf, hier geht es um die ID3 Tags.

Ich hätte aber die lautstärke auch als eigenschaft angesehen die rausgelesen werden muss und verändert... :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz