VLC for HMG

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

User avatar
danielmaximiliano
Posts: 2618
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: VLC for HMG

Post by danielmaximiliano »

Hola a todos,Volviendo al tema VLC como reproductor hace unos dias un integrante me envio un msj preguntando sobre como reproducir un mp3 directamente y recorde este post, tambien un ejemplo en minigui.
como quedo en mi mente una solucion mas simple comence a leer sobre vlc y su ActiveX https://wiki.videolan.org/ActiveX/ lo cual hay que tenes instalado VLC en 32 bits ya que en 64 bits el ejemplo de Jimmy (HMG_VLC) se cierra con un error.
VLC además de el ActiveX tiene a LibVLC una DLL, se puede exportar sus funciones a un .lib para usarlo en otras aplicaciones cual se explica aqui https://wiki.videolan.org/GenerateLibFromDll/
en mi caso usé Gendef de Mingw32 para generar el archivo de definición de exportación(.def)
Captura de pantalla 2024-07-27 093245.png
Captura de pantalla 2024-07-27 093245.png (36.18 KiB) Viewed 372 times
como usamos Mingw como compilador de nuestras aplicaciones Harbour/HMG necesitamos una libreria tipo .a asi que uso

Code: Select all

dlltool --def libvlc.def --dllname libvlc.dll --output-lib libvlc.a
creo un proyecto en el ide de HMG al cual agrego en configuracion de proyecto la libs pero al ejecutar da error porque no se encuentan las funciones :?
LibVLC.rar
(91.76 KiB) Downloaded 32 times

Code: Select all

hbmk2: Harbour: Compilando m¢dulos...
Harbour 3.2.0dev (r2011030937)
Copyright (c) 1999-2020, https://harbour.github.io/
hbmk2: Compilando...
hbmk2: Enlazando... DemoVLC.exe
c:/hmg.3.5/mingw/bin/../lib/gcc/i686-w64-mingw32/9.3.0/../../../../i686-w64-mingw32/bin/ld.exe: .hbmk/win/mingw/Main.o:Main.c:(.data+0x48): undefined reference to `HB_FUN_LIBVLC_NEW'
collect2.exe: error: ld returned 1 exit status
hbmk2[DemoVLC]: Error: Ejecutando enlazador. 1 -Wl,--end-group -oDemoVLC.exe  -LC:/HMG.3.5/harbour/lib/win/mingw -LC:/HMG.3.5/lib

hbmk2: Error: Funci¢n(es) referenciada, no encontrada, pero desconocida:
       LIBVLC_NEW()
una ayuda para saber donde estoy equivocado ya que hace varios dias estoy en lo mismo .
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
AUGE_OHR
Posts: 2083
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: VLC for HMG

Post by AUGE_OHR »

hi Daniel,

using ActiveX should be no Difference of 32 BIt or 64 Bit CODE. both use same CLSID.
what Problem you are talking ?
have fun
Jimmy
martingz
Posts: 396
Joined: Wed Nov 18, 2009 11:14 pm
Location: Mexico

Re: VLC for HMG

Post by martingz »

Daniel no soy un experto pero te faltan los Wrappers de la API

seria algo asi


#pragma BEGINDUMP

#include <windows.h>

#include "hbapi.h"

HB_FUNC( LIBVLC_NEW )
{

hb_retc( xxx );

}


HB_FUNC( VLC_INIT )
{

hb_retc( xxx);
}


#pragma ENDDUMP

disculpa pero no soy un experto en C
User avatar
AUGE_OHR
Posts: 2083
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: VLC for HMG

Post by AUGE_OHR »

hi,

i do not understand where LIBVLC_NEW come from when use ActiveX Interface of VLC ?
have fun
Jimmy
Post Reply