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) 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
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()