Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
14.10.2010 14:53:37 |
gnagflow |
|
|
Aw:Länge eines ID3v2-Tags änder und zurückschreibe |
19.10.2010 18:08:55 |
Holger |
|
|
|
20.10.2010 08:31:35 |
gnagflow |
|
|
Von:
Holger |
Datum:
19.10.2010 18:08:55 |
Views:
949 |
Rating:
|
Antwort:
|
Thema:
Aw:Länge eines ID3v2-Tags änder und zurückschreibe |
Hallo gnagflow,
wenn ich dein Programm richtig verstehe, setzt du einen vierstelligen String in eine Zahl um, indem du den Asc-Wert der einzelnen Zeichen jeweils mit der Potenz 3, 2, 1 und 0 von 128 multiplizierst. Umgekehrt brauchst du doch nur entsprechend zu teilen. Das kennst du du doch sicherlich von Binärzahlen, nur dass es sich dort um Potenzen von 2 handelt.
ID3length muss vom Typ Variant sein, sonst solltest du verschiedene Variablen an den den beiden Stellen verwenden. Wozu soll das Ganze den gut sein?
d = ID3length
c = d \ 128 ^ 3
E = Chr(c)
d = d - c * 128 ^ 3
c = d \ 128 ^ 2
E = E + Chr(c)
d = d - c * 128 ^ 2
c = d \ 128
E = E + Chr(c)
d = d - c * 128
ID3length = E + Chr(d)
gnagflow schrieb am 14.10.2010 14:53:37:
Mit diesem VBA-Code lese ich meine Musikdateien ein:
' nächste Datei einlesen
Open MP3FileName For Binary As #OpenZeileNeueTitel
MP3FileContent = Space$(LOF(OpenZeileNeueTitel))
Get #OpenZeileNeueTitel, , MP3FileContent
' Version bestimmen
ID3Version = Str$(Asc(Mid$(MP3FileContent, 4, 1))) & "." & Trim$(Str$(Asc(Mid$(MP3FileContent, 5, 1))))
' ID3-Tag posotionieren
ID3Position = InStr(MP3FileContent, "ID3")
' ID3Tag-Länge in VBA-Format konvertieren
ID3Length = &H200000 ID3Length = &H200000 * Asc(Mid$(MP3FileContent, ID3Position + 6, 1)) _
+ &H4000 * Asc(Mid$(MP3FileContent, ID3Position + 7, 1)) _
+ &H80 * Asc(Mid$(MP3FileContent, ID3Position + 8, 1)) _
+ Asc(Mid$(MP3FileContent, ID3Position + 9, 1))
' Länge ändern (z. B.: + 10)
ID3Length = ID3Length + 10
' neue Länge in ID3-Format konvertieren
??????
... und da fehlen mir die nötigen VBA-Kenntnisse. Habe schon einige Ziet im Internet recherchiert aber leider keine Lösung gefunden.
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
14.10.2010 14:53:37 |
gnagflow |
|
|
Aw:Länge eines ID3v2-Tags änder und zurückschreibe |
19.10.2010 18:08:55 |
Holger |
|
|
|
20.10.2010 08:31:35 |
gnagflow |
|
|