Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1276 Wohnort: Ruhrpott
|
Verfasst am: 11.10.2015, 01:16 Titel: libVLC Mediaplayer für FB |
|
|
Hallo allerseits!
Hier mein bescheidener Versuch, libVLC unter FB zum Laufen zu bringen. Ist erst mal nur eine Vorabversion, weitere Anwendungsbeispiele und ein Tutorial sind geplant. Ich hoffe auf reichlich Anregungen und Kritik.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 11.10.2015, 18:10 Titel: |
|
|
ich scheitere grad ein wenig das Ganze zum Laufen zu bringen:
Habe alle dlls des VLC Players in das inc/vlc Verzeichnis kopiert und konnte dadurch die Fehlermeldungen bis auf diese Zeile reduzieren:
Code: | C:\Users\Frank\Programme\FreeBASIC-1.03.0-win32\bin\win32\ld.exe: cannot find -lvlc
|
Brauch ein wenig Inspiration...
Mutton |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 11.10.2015, 18:26 Titel: |
|
|
Du musst noch die libvlc.dll.a in deinen /lib/win32/ Ordner kopieren. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4686 Wohnort: ~/
|
Verfasst am: 11.10.2015, 18:26 Titel: |
|
|
Nicht angesehen, sondern nur schnell zusammengegoogelt:
https://github.com/freebasic/fbc/blob/master/inc/vlc/libvlc.bi
ach ja klar, brauchst ja nicht die .bi ... sorry _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 12.10.2015, 00:24 Titel: |
|
|
@grindstone: Due schreibst auf der Projektseite dass du die Header manuell übersetzt hast. Hast du auch eine automatisierte Lösung ausprobiert, wie etwa fbfrog: https://github.com/dkl/fbfrog ?
Weiters schreibst du "auf den Stand von libVLC - Version 2.1.5 gebracht". Die aktuellen Bindings vom fbc sind "FreeBASIC binding for vlc-2.2.1", also aktueller?! _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1276 Wohnort: Ruhrpott
|
Verfasst am: 12.10.2015, 10:17 Titel: |
|
|
Sch...eibenkleister!
Das Beispielprogramm benötigt zum Laufen noch die Dateien libvlc.dll und libvlccore.dll, und zwar im selben Verzeichnis wie das Programm selbst. Da muß ich erst mal sehen, wie man das lösen kann, ohne bei jeder Source die dlls mitzuschleppen. Irgendwie gab es doch eine Möglichkeit, eine .dll direkt in den Programmcode zu integrieren. Fall jemand weiß, wie das geht, lasst es mich wissen. Oder gibt es eine Präprozessoranweisung, mit der man Dateien kopieren kann?
Ich habe die beiden Dateien erstmal hochgeladen. Einfach in das selbe Verzeichnis wie die Source kopieren, dann müsste es funktionieren.
MOD hat Folgendes geschrieben: | Du musst noch die libvlc.dll.a in deinen /lib/win32/ Ordner kopieren. | Nein, das ist nicht nötig. Die libvlc.dll.a steht genau da, wo sie gebraucht wird.
@St_W:
Richtig, 2.5.1 ist nicht die aktuellste Version, aber wenn die Plugins nicht von der selben Version stammen wie die libVLC, werden sie ignoriert. Und für eine höhere Version habe ich noch keine passende libVLC gefunden. Es gibt sie bestimmt, aber ich wollte das Ganze erst mal generell zum Laufen bringen.
St_W hat Folgendes geschrieben: | Die aktuellen Bindings vom fbc sind "FreeBASIC binding for vlc-2.2.1" | Da scheint sich ja tatsächlich noch jemand die Mühe gemacht zu haben.
Und was das automatisierte Übersetzen betrifft, da habe ich swig ausprobiert, bin damit aber nicht richtig zurechtgekommen. fbfrog und h_2_bi habe ich mir auch angesehen, aber irgendwie war da alles nicht das, was ich mir vorgestellt hatte. Und da habe ich mir dann gedacht, bevor ich mich da eingearbeitet habe, hab ich das auch alles per Hand eingetippt, zumal die Dateien ja schon zu 3/4 fertig waren.
Gruß
grindstone
EDIT: Es genügt, die beiden dlls nach %WINDIR%\system32\ zu kopieren. Dann sind sie überall verfügbar. _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4686 Wohnort: ~/
|
Verfasst am: 12.10.2015, 12:40 Titel: |
|
|
Zitat: | EDIT: Es genügt, die beiden dlls nach %WINDIR%\system32\ zu kopieren. Dann sind sie überall verfügbar. |
Sofern nicht ein anderes Programm eine gleichnamige dll mit einer anderen Versionsnummer benötigt und ebenfalls dort hinkopieren will ... _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 12.10.2015, 13:01 Titel: |
|
|
Bitte in groß ausdrucken und an die Wand hängen:
ICH WERDE NIEMALS ANWENDUNGSSPEZIFISCHE DLLs INS WINDOWSVERZEICHNIS KOPIEREN!
http://blogs.msdn.com/b/oldnewthing/archive/2011/06/20/10176772.aspx
Um die Bibliotheken in deine EXE-Datei einzubetten, benötigst du eine statische Bibliothek (lib), keine dynamische (dll). _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1276 Wohnort: Ruhrpott
|
Verfasst am: 13.10.2015, 12:50 Titel: |
|
|
Ja, ja, ja, ihr habt ja Recht, war 'ne blöde Idee! Ich habe die dlls auch schon wieder gelöscht.
Bei der ganzen Herumprobiererei hatte ich völlig den Überblick verloren, aber ich glaube, jetzt hab ich's. FB akzeptiert erstaunlicherweise sowohl die libvlc.dll als auch die daraus generierte libvlc.dll.a. Ich habe das Zip - Archiv neu zusammengestellt und hochgeladen und das Beispielprogramm auf der Projektseite korrigiert.
Mein Grundgedanke war, die VLC - Funktionen auch für Anfänger nutzbar zu machen, im Idealfall also durch simples Einbinden einer .bi - Datei. Ganz so einfach geht es wohl nicht, aber ich werde versuchen, den Aufwand möglichst gering zu halten.
Jojo hat Folgendes geschrieben: | Um die Bibliotheken in deine EXE-Datei einzubetten, benötigst du eine statische Bibliothek (lib), keine dynamische (dll). | Es wäre nicht schlecht, wenn man die libvlccore.dll in eine statische Bibliothek umwandeln und in die .exe integrieren könnte (natürlich so, daß sie funktioniert). Irgendwo habe ich etwas darüber gelesen, mal sehen, ob ich es wiederfinde.
Ach ja: Gibt es eine Möglichkeit, zum Zeitpunkt der Compilierung den Pfad der fbc.exe zu ermitteln? Also sowas wie __PATH__, nur eben für den Compiler? Ich habe da nichts gefunden.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1276 Wohnort: Ruhrpott
|
Verfasst am: 14.10.2015, 14:12 Titel: |
|
|
Die Idee, libvlccore.dll statisch zu verlinken, habe ich aufgegeben, da ich festgestellt habe, daß jedes Plugin auf diese dll zugreift (und sie auch mit genau diesem Namen im exe - Verzeichnis oder im Suchpfad erwartet). Ich müsste also alle Plugins umschreiben und neu compilieren.
Diese Arbeit möchte ich mir dann doch nicht machen...
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
|