![]() |
Re: WMA Tags lesen und SCHREIBEN
Ich denke es liegt an den Pointern. Pointer machen nie, was man will. Das nur Artist in de rListbox steht ist kein Wunder, denn der String wird durch #0 terminiert. Es gibt da den Copy-Befehl, aber die Zeichenfolge nach dem String wird vlt. von WMA zu WMA unterschiedlich sein und somit könnte das schwer werden.
|
Re: WMA Tags lesen und SCHREIBEN
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Die zeichenfolge nach dem string ist abhängig vom Titel. Dürfte aber uninteressant sein. Du mußt den String spliten mit dem Delemiter "'" und alles wegschneiden was hinter dem 2 "'" zeichen steht. Dann bleibt nur noch 'ads' übrig. NE andere Idee habe ich da auch nicht. |
Re: WMA Tags lesen und SCHREIBEN
Warum funktioniert es bei dir, aber nicht bei mir :shock: ?
In der Tagform wird alles korrekt angezeigt, aber nicht in der Playlist und im Lauftext. |
Re: WMA Tags lesen und SCHREIBEN
Zitat:
Properties TEDIT von meinen Sample. Möglich das dort das problem liegt. Gruß |
Re: WMA Tags lesen und SCHREIBEN
Hm? Die Tags sind in deiner Demo genauso, wie bei mir, nur in der Playlist und im Lauftext nicht.
|
Re: WMA Tags lesen und SCHREIBEN
Zitat:
gruß |
Re: WMA Tags lesen und SCHREIBEN
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
[ironie]Und noch was: Warum lädt immer jeder alles runter, obwohl ihn wahrscheinlich nur der Code interessiert...oh was ist denn das lad es mir mal runter.[/ironie] Eine ähnliche Unit kriegt ihr übrigens kostenlos im DF....
fFiles : Array of TAudioFile;
Hier mal die Unit, in der TAudioFile steht: |
Re: WMA Tags lesen und SCHREIBEN
Zitat:
Nur zum testen .. leg mal ein TEdit in deiner form an. und weise den einen index 0 zu. So das dieses als array angesprochen wird. Dann lade die TEDIT dynamisch zur laufzeit.. und weise diesen den Titel zu. Übergeben den Titel von TEDIT(1) oder was auch immer an die Playlist und schau was passiert. gruß |
Re: WMA Tags lesen und SCHREIBEN
Ich habe es so gemacht:
Delphi-Quellcode:
Das Ergebniss:
//Lauftext
PlayFile(playindex); with fFiles[playindex] do begin s := Artist + ' - ' + Titel + ' [' + trim(DurationMinSec(IntToStr(GetSongLength))) + ']'; lLauftext.Text := s; lLauftext.Active := True; lLauftext.Transparent := True; Application.Title := s; Memo1.Lines.Add(s); end;
Delphi-Quellcode:
Der String wird terminiert. Das mit dem Copy wird auch mit deinem Prinzip sehr schwer, da sich die Zeichenfolge in der einen Datei z.B. 5 Zeichen lang ist und in der Anderen z.B. 7. Wir sollten dem Fehler auf den Grund gehen, anders geht es nicht, selbst wenn ist es sehr schlecht und fehleranfällig.
PaulE
|
Re: WMA Tags lesen und SCHREIBEN
Zitat:
Hätte auch eine Lösung anzubieten. Simple :)
Delphi-Quellcode:
Bei mir wird beim Debuggen alles einwandfrei ohne zusätze angezeigt.
Var
RTitle: Shortstring; RArtist: Shortstring; procedure TForm1.OpenPBClick(Sender: TObject); var TagsData: PTagsData; begin if not opendialog1.Execute then exit; ClearAll; lblFileName.Caption := opendialog1.FileName; SavePB.Enabled := true; New(TagsData); try OpenWMAFile(opendialog1.FileName, TagsData); fFilesize.Text := inttostr(TagsData.FileSize) + ' bytes'; fDuration.Text := DurationToStr(TagsData.Duration, true) + ' sec '; fBitRate.Text := inttostr(TagsData.BitRate div 1000) + ' kbit'; fVBR.Text := booltostr(Tagsdata.VBR, true); fEncoder.Text := TagsData.Version; fGenre.Text := TagsData.Genre; fArtist.Text := TagsData.Author; fComposer.Text := TagsData.Composer; fTitle.Text := TagsData.Title; fAlbum.Text := TagsData.Album; fYear.Text := TagsData.Year; fTrack.Text := TagsData.Track; fURL.Text := TagsData.Url; fCopyRight.Text := TagsData.CopyRight; fComments.Text := TagsData.Comments; fLyrics.Text := TagsData.Lyrics; finally DisPose(TagsData); end; // Schau hier das wars! RTitle := fTitle.Text; RArtist := fArtis.Text; s := RArtist + ' - ' + RTitle + ' [' + trim(DurationMinSec(IntToStr(GetSongLength))) + ']'; end; EDIT: Könnte reichen wenn du deine Strings mal nach ShortString ändern würdest! Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz