Übersicht Windows Media Player

  • VB.NET

Es gibt 72 Antworten in diesem Thema. Der letzte Beitrag () ist von kafffee.

    So, da war in der GetFreeSectors tatsächlich noch ein Bug drinnen, hab ich aber behoben. Aktualisierte Version anbei und auch im Sourcecode-Austausch erhältlich:

    WinForms-UserControl-Bibliothek zum Brennen von Audio-CDs oder MP3-CDs/DVDs aus *.mp3-Dateien
    Dateien
    • CDBurner.zip

      (296,49 kB, 92 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kafffee“ ()

    Hey @-Franky-, ist schon ne Weile her aber ich dachte ich frage mal.

    Und zwar ham wir ja hier zusammen an dieser DLL gearbeitet, mit der man mit Hilfe der WMP DLLs CDs brennen kann.

    Nun bin ich in das Problem gelaufen, dass wenn ich die DLLs AxInterop.WMPLiib.dll und Interop.WMPLiib.dll mit meinem Programm mitgebe, dass das so auf einem anderen PC nicht funktioniert. Ich vermute dass die halt so konstruiert sind, dass sie nur auf dem Rechner funktionieren, von dem sie "stammen". Ich hab die glaub damals einfach aus dem Ausgabeverzeichnis eines WinForms-Programms, das das WMP-Control verwendet, rauskopiert. Wie also kann ich die mitliefern bzw. ist das von MS überhaupt so erlaubt?

    Alternativ könnte ich ja mal versuchen, etwas von hier nachzubauen, das traue ich mir mittlerweile mehr oder weniger zu:

    codeproject.com/Articles/25241…ing-Audio-CDs-using-IMAPI

    oder auch:

    codeproject.com/articles/24544…Normal&spc=Relaxed&fr=176

    Leider scheint der ein oder andere Link dort veraltet zu sein. Siehe Abschnitt "Introduction" vom zweiten Link.

    Hast du vielleicht eine Ahnung, ob das Thema IMAPI2 überhaupt noch aktuell ist, oder sollte ich die gesamte CD-Brenn-Geschichte aus meinem Projekt an den Nagel hängen?
    Hi. Jupp, ist schon etwas her. Ob Du die Interop-DLLs mitliefern musst, kann ich Dir nicht beantworten. Wenn ja, könnte ich mir vorstellen das diese DLLs evtl. auf dem Zielsystem noch registriert werden müssen. Ach ja, es darf sich beim Zielsystem um keine Windows N-Version handeln. Denn da ist der WMP von Haus aus nicht vorhanden und das komplette Media-Zeugs müsste erst nachinstalliert werden.

    Wenn ich mich zurück erinnere, dann war ich seiner Zeit schon der Meinung das gleich per IMAPI2 zu realisieren. Die beiden Links sind schon der richtige Einstieg. Diese habe ich auch genutzt, um IMAPI2 in VB6 auszuprobieren wobei ich ja direkt mit den COM-Interfaces arbeite.

    Ich bin mir sicher das es für .NET bereits fertige NuGet Pakete im Zusammenhang mit IMAPI2 gibt. Das macht das ganze für Dich einfacher anstatt sich mit COM auseinandersetzen zu müssen. Wobei mir letzteres mehr Spaß machen würde. ;)
    Mfg -Franky-
    @-Franky-

    Erstmal Frohe Weihnachten und danke für die schnelle Antwort. :)

    Jou Nuget Pakete mit IMAPI2 gibts leider nur eins, das hatte ich aber damals schon gesehen:

    microncode.com/developers/cs-dvd-cd-burner/

    Davon werd ich aber schön die Finger lassen, ich vertrau dem nicht zu 100% bzw. die Demo funktioniert nicht und da will er gleich dass man sich eine Lizenz kauft...

    Aber du weisst jetzt auch nicht zufällig, ob diese IMAPI2.DLLs überhaupt noch auf Win10/11 funktionieren? Hier ist ja nur die Rede von Windows XP...??

    Edit @-Franky-:

    Die zwei DLLs gibts als Nuget-Paket... Dass ich da nicht früher drauf gekommen bin :-):

    nuget.org/packages/WMPLib#supportedframeworks-body-tab

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kafffee“ ()

    Auch erstenmal frohe Weihnachten zurück. Ich kann mir nicht vorstellen das es nur ein einziges NuGet-Paket im Zusammenhang mit IMAPI2 gibt. Den hier hatte ich glaub auch schon mal gepostet: github.com/awalsh128/IMAPI2 -> .NET wrapper for Windows IMAPI2 interface.

    Wer weis das schon ob es unter Win12/13 den alten WMP, und damit auch dessen Interfaces, überhaupt noch geben wird. Im Moment erklärt MS ja so einiges als deprecated. learn.microsoft.com/en-us/wind…s-new/deprecated-features
    Mfg -Franky-

    -Franky- schrieb:

    Ich kann mir nicht vorstellen das es nur ein einziges NuGet-Paket im Zusammenhang mit IMAPI2 gibt.


    Ja gut als Suchbegriff hab ich halt IMAPI2 eingegeben. Wenn ich mal viiiel Zeit hab dann guck ich mir das mal näher an, ich probiers jetzt erstmal mit dem Nuget Paket für den WMP...

    -Franky- schrieb:

    Wer weis das schon ob es unter Win12/13 den alten WMP

    Okay ja klar, da ist was Wahres dran :)

    Edit @-Franky-:

    Jetzt muss ich mich doch nochmal melden:

    Hab jetzt mal das NuGetPaket WMPLib 1.0.0 installiert. Wenn ich jetzt die App ausführe, dann wird aber die Interop.WMPLib vermisst, die AxInterop.WMPLib ist aber da. Hab mal im Ausgabeordner nachgeschaut, da ist sie tatsächlich nicht drin, obwohl das NuGet-Paket das ja in seiner Beschreibung verspricht. Leider konnte ich auf der Seite des NuGet-Pakets auch keine Info hierzu finden.
    Projekt neu erstellt hab ich auch.

    Hast du ne Idee was ich noch versuchen könnte?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kafffee“ ()

    Ah bin dahintergekommen. Die Datei wird zwar nicht automatisch als Verweis ins Ausgabeverzeichnis kopiert, wird aber mit dem NuGet-Paket mitgeliefert. Im Projektordner wird da ein Unterordner packages\WMPLib.1.0.0\lib erzeugt, da isse drin und man kann sie sich kopieren.

    Als es dann immer noch nicht funktionierte, hab ich mal debuggen angefangen. Der Fehler lag darin, dass mein Programm intern Dateinamen ein \\?\ voranstellt, damit es mit langen Pfadnamen zurechtkommt, kennste vielleicht... Hätte nicht gedacht, dass der WMP damit nicht klarkommt, denn mein Programm selbst und alle verwendeten APIs tun das, selbst wenn ich z.B. System.IO.File.Exists mache...

    Naja, Ende gut, alles gut :)

    Rutsch gut ins Neue Jahr :)