DllImport
-
Hallo,
habe heute versucht mithilfe dieser Wrapper-Klasse http://forum.videolan.org/viewtopic.php?t=28553 in C# den VLC Player in meinem Projekt zu verwenden, jedoch sagt mir die ausgabe von LastError das die dll nicht gefunden wurde.
Ich programmiere noch nicht all zu lange mit dem Visual Studio aber ich vermute ich muss irgendwo einen Pfad angeben wo die dll sich befindet.
habe das selbe auch schon in diesem Forum gefragt http://www.java-forum.org/softwareentwicklung/89845-dllimport-c.html#post568002, jedoch wurde ich hierer verwiesen.
Danke
-
Die libvlc.dll muss in einem Pfad liegen den Windows nach der lib durchsucht.
Am einfachsten: Pack die direkt in den Ordner wo deine .exe liegt.(Außerdem steht da auf der letzten Seite im Forum das der Wrapper mit der aktuellen VLC-Version nicht mehr funzt)
-
das mit der aktuellen Version hab ich überlesen.
Gibt es dann eine andere Möglichkeit den aktuellen VLC Player zu verwenden.
Ich habe bereits das ActiveX Steuerelement getestet, jedoch scheint es so als ob es dort nicht möglich ist den Vollbildmodus zu verwenden, außerdem kann ich dort nicht auf Mausereignisse reagieren.hat jemand einen Vorschag?
danke
-
so habe nun hier etwas gefunden:
https://forum.videolan.org/viewtopic.php?f=32&t=47385&hilit=windows+form&start=15Das Problem ist nun, das ich Windows7 64bit verwende und dabei jedesmal die Fehlermeldung erhalte:
exception while running Marx_libvlc_wrapper_test.exe: System.BadImageFormatException:
HRESULT: 0x8007000B
в Marx_libvlc_wrapper.Marx_libvlc_exception.libvlc_exception_init(libvlc_exception_struct& ex)
в Marx_libvlc_wrapper.Marx_libvlc_exception.init(libvlc_exception_struct& ex) в C:\Users\DNA User\Documents\Visual Studio 2008\Projects\Ma
rx_libvlc_wrapper\Marx_libvlc_wrapper\Marx_libvlc_exception.cs:line 50
в Marx_libvlc_wrapper.Marx_libvlc_exception..ctor(libvlc_exception_struct& ex) в C:\Users\DNA User\Documents\Visual Studio 2008\Projects\M
arx_libvlc_wrapper\Marx_libvlc_wrapper\Marx_libvlc_exception.cs:line 41
в Marx_libvlc_wrapper_test.Program.Main(String[] args) в C:\Users\DNA User\Documents\Visual Studio 2008\Projects\Marx_libvlc_wrapper\Marx_
libvlc_wrapper_test\Program.cs:line 49Führe ich selben Code unter Windows Vista 32bit aus funktioniert alles.
Ich vermute sehr stark, das das Problem mit der 64bit Version meines Windows7 zusammenhängt, da vlc nur in 32bit vorliegt.
Gibt es nun eine Möglichkeit dies zu umgehen, bzw. so zu starten, das der Kompatibilitätsmodus von Windows verwendet wird.
danke
-
Plattform auf x86 umstellen in Visual Studio (Default ist "Any CPU")
-
Danke ich dachte es liegt an der 32bit Version der libvlc.
Nun funktioniert es.
-
Das Problem ist das 64bit-Anwendungen nur 64bit-DLLs laden können (das gleiche Spiel bei 32bit-Anwendungen).
Mit der "x86"-Einstellung hast du deine Anwendung nun quasi auf 32bit runtergestuft