Hallo liebe VB-Paradise-Community,
Ich steh' momentan gerade auf dem Schlauch:
Damit einige Mp3-Dateien nach dem gleichen Muster beschriftet sind, habe ich mir ein kleines Tool gebastelt. Ich wollte die Details der Mp3-Dateien auslesen (die, die man bei den Eigenschaften sieht [RMT] -> "Eigenschaften") und mit denen die Dateien umbenennen.
Das habe ich ohne grosse Probleme hinbekommen.
Mein Code, um die Details auszulesen:
Spoiler anzeigen
Nun möchte ich diese Tags auch in die Datei schreiben können.
Hier komme ich irgendwie nicht weiter: Es gibt im Internet zwar viele Beispiele, wie man das schafft, aber ich bin mir nicht einmal sicher, welche ID3-Version (ID3v1/v2/v3/v4/vn ?) ich nutzen muss, da mir nicht einmal das Auslesen dieser gelang.
Ich dachte mir, wenn's ein
Leider konnte mir MSDN im Bezug auf das Detail-Schreiben mit Shell nicht weiterhelfen...
Ich kann jetzt zwar die Details auslesen, aber nicht schreiben.
Könntet ihr mir bitte helfen, aus diesem Urwald der Möglichkeiten die Richtige zu finden?
Mit freundlichen Grüssen
Higlav
Ich steh' momentan gerade auf dem Schlauch:
Damit einige Mp3-Dateien nach dem gleichen Muster beschriftet sind, habe ich mir ein kleines Tool gebastelt. Ich wollte die Details der Mp3-Dateien auslesen (die, die man bei den Eigenschaften sieht [RMT] -> "Eigenschaften") und mit denen die Dateien umbenennen.
Das habe ich ohne grosse Probleme hinbekommen.
Mein Code, um die Details auszulesen:
VB.NET-Quellcode
- Private Function ReadDetails(ByVal Pfad As String) As String()
- Dim Sh As New Shell32.Shell
- Dim StrFol As String
- Dim strDat As String
- Dim Fol As Shell32.Folder
- Dim Itm As Shell32.FolderItem
- Dim i() As Integer = {21, 20, 14, 16, 26} 'Titel,Interpret,Album,Genre,Titelnummer
- Dim a As String
- StrFol = Pfad.Substring(0, Pfad.LastIndexOf("\"))
- strDat = Pfad.Substring(Pfad.LastIndexOf("\") + 1)
- Fol = Sh.NameSpace(StrFol)
- Itm = Fol.ParseName(strDat)
- a = ""
- For j As Integer = 0 To i.GetUpperBound(0)
- a = a & Fol.GetDetailsOf(Itm, i(j)) & ";"
- Next
- a = a.Substring(0, Len(a) - 1)
- Return a.Split(CChar(";"))
- End Function
Nun möchte ich diese Tags auch in die Datei schreiben können.
Hier komme ich irgendwie nicht weiter: Es gibt im Internet zwar viele Beispiele, wie man das schafft, aber ich bin mir nicht einmal sicher, welche ID3-Version (ID3v1/v2/v3/v4/vn ?) ich nutzen muss, da mir nicht einmal das Auslesen dieser gelang.
Ich dachte mir, wenn's ein
Shell32.Folder.GetDetailsOf()
gibt, wieso dann kein Shell32.Folder.SetDetailsOf()
?Leider konnte mir MSDN im Bezug auf das Detail-Schreiben mit Shell nicht weiterhelfen...
Ich kann jetzt zwar die Details auslesen, aber nicht schreiben.
Könntet ihr mir bitte helfen, aus diesem Urwald der Möglichkeiten die Richtige zu finden?
Mit freundlichen Grüssen
Higlav