Ich hoffe ich bin hier richtig und es gibt jemand, der mir weiterhelfen kann.
Ich habe mir eine Musikverwaltung gebastelt und würde jetzt gerne auch noch Playlisten erstellen, um sie später zum Handy exportieren zu können. (Am PC ist das Erstellen solcher Playlisten übersichtlicher als am Handy - auch der übliche Mediaplayer paßt mir nicht).
Ich habe dazu 2 Probleme :
1.
Mit MP3_Files ohne Umlaute geht es. Sowohl .wpl als auch .m3u.
Mit Umlauten können die m3u-Listen am PC abgespielt werden und der Dateinname ist auch ok
D:\__Neue_Daten\Musik\x_Fertig\BRDigung\_Diverse\BRDigung - Die Hände hoch.mp3
D:\__Neue_Daten\Musik\x_Fertig\BRDigung\_Diverse\BRDigung - Mittelfingerautorität.mp3
In dem wpl-File stehen im Dateinamen zb. XE4 (lt Notepad++) für ä
<seq>
<media src="D:\__Neue_Daten\Musik\x_Fertig\BRDigung\_Diverse\BRDigung - Die H䮤e hoch.mp3"/>
<media src="D:\__Neue_Daten\Musik\x_Fertig\BRDigung\_Diverse\BRDigung - Mittelfingerautorit䴮mp3"/>
Somit kann der Media- wie auch der VLC-Player die Liste nicht abspielen.
2. Übergabe der m3u-Liste ans Handy
Ohne Umlaute kann die exportierte Wiedergabe-Liste vom Handy abgespielt werden - Mit Umlauten wird die m3u-Liste nicht erkannt.
Für hilfreiche Kommentare bedanke ich mich im Vooraus
Grüße Roger
Du musst dafür sorgen, dass die Umlaute so in die Dateien geschrieben werden, wie es das jeweilige Dateiformat vorsieht.
Ja, diese Antwort ist sehr abstrakt, aber mehr kann man mit den von dir gelieferten Informationen dazu nicht sagen.
Es würde helfen, wenn du erläuterst, wie du die Dateien erstellst.
Hi,
ich nehme eine leere .wpl ermittle den Teil vor und hinter dem Media-Block.
bestücke dann den Media-Block in einer Schleife
strAlleTitel = strAlleTitel & " <media src=" & Chr(34) & rs("Pfad_File") & Chr(34) & "/>" & vbCrLf
setze dann den kompletten String zusammen
txtNeueListe = txtNeueListe_Vorne & strAlleTitel & txtNeueListe_Hinten
und schreibe dann das File
F = FreeFile()
PfadFile = p_Pfad_Playlist & "\" & Name_PL & ".wpl"
Open PfadFile For Output As #F
Print #F, txtNeueListe
Close #F
In der String-Variaben txtNeueListe stehen die Filenamen noch korrekt also mit den richtigen Umlauten.
Im wpl-File stehen dann aber statt den Umlauten Hieroglyphen.
Grüße Roger
Zitat von: MaTiUrTi am November 30, 2021, 17:24:14Open PfadFile For Output As #F
Print #F, txtNeueListe
Wenn ich mich richtig erinnere, kann man mit
Open +
Print nur mit ANSI-Zeichensatz schreiben. WPL als XML-basierendes Format sollte aber wahrscheinlich immer UTF-8 codiert sein.
Die einfachste Möglichkeit UTF-8 zu schreiben, ist wahrscheinlich ein ADODB.Stream. Siehe z.B.: Read & Write UTF-8 Files (https://developer.rhino3d.com/guides/rhinoscript/read-write-utf8/)
Danke für deine Hilfestellung.
Ich habe zufällig (ohne zu wissen, was ich da mache) durch rumspielen mit Notepad++ - Kodierung erst nach Ansi und dann wieder zurück zumindest erreicht, dass die m3u-Files auf dem Handy dann korrekt abgespielt werden können.
Jetzt muß ich nur noch rauskriegen, wie die Konvertierung mit VBA zu bewerkstelligen ist.
Umweg über Notpad als Workaround machbar aber doch irgenwie unschön.
Grüße Roger
Hallo,
Phil hat Dir doch einen Link gegeben...
und hier noch einer:
https://www.excel-inside.de/beispiele_vba/vba-workbooks-datei/1132-dateien-per-vba-in-das-utf-8-oder-utf-16-format-konvertieren
Der Tipp Read & Write UTF-8 Files wars. Zumindest was die m3u-Listen angeht passt jetzt alles.
(wpl-ist somit eigentlich unnötig - teste ich aber noch just for fun)
nochmals Danke