Hey,
da es mich schon immer stört das VLC wohl offenbar nicht in der Lage ist das Titelbild aus einer MP3 richtig zu lesen hatte ich mir ein Tool gebastelt. Läuft im Hintergrund und löscht wenn VlC aus ist, die Datei welche das Art enthält. Funktioniert soweit so gut, nun wollte ich das ganze aber auch während der Laufzeit. Das Problem ist, die Datei muss gelöscht werden bevor das neue Lied geladen wird, ansonsten wird keine neue erstellt.
Ich habe zunächst versucht anhand des Fenstertitels auszulesen ob sich das Lied ändert:
Process[] myProcesses = Process.GetProcessesByName("vlc");
foreach (Process myProcess in myProcesses)
{
if (myProcess.MainWindowTitle == "VLC media player")
{
DeleteArt();
}
else
{
if (myProcess.MainWindowTitle != LastSong && LastSong != "VLC media player")
{
DeleteArt();
LastSong = myProcess.MainWindowTitle;
notifyIcon1.ShowBalloonTip(1, "Lied geändert.","Albumbart wird neu geladen",ToolTipIcon.Info);
}
}
}
Ich hoffe das ist halbwegs verständlich. Nur leider funktioniert das ganze nicht. VLC ändert das Lied, nur leider reagiert das Programm zu spät und es wird zwar die Art gelöscht aber VLC erstellt keine mehr. Da nun die Frage:
Kann ich den Aufruf: .mp3, wenn er an VLC gesendet wird, was ja wohl mit %1 geschieht (Mitgabe des Dateinamens) Irgentwie Abfangen? Dann könnte ich die Art löschen und anschließend den Aufruf erneut tätigen.
Hoffe ich habe mich verständlich ausgedrückt und vielleicht habt ihr ja eine Lösung.
Schonmal Danke im vorraus.
Hallo 1mannlan,
Stichwort: Hook. VLC ist Open-Source, du kannst VLC nach deinen Bedürfnissen umprogrammieren. In der VLC Developers Corner findest du mehr Informationen. Das wäre viel einfacher.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.