FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Reproducir videos en Windows 7
Posts: 257
Joined: Tue May 16, 2006 04:46 PM
Reproducir videos en Windows 7
Posted: Mon Nov 05, 2012 06:09 PM
Hola amigos,

Tengo el siguiente codigo que me funciona bien en Windows Vista pero no asi en Windows XP ni en Windows 7. Alguien podria ayudarme?

Code (fw): Select all Collapse
//-----------------------------------------------------------------------------
//Muestra videos del animal
STATIC FUNCTION TarA_MV(aTDBF,oDlgA) //Arreglo para los campos
 LOCAL oWndV,oActiveX,oBarV,oBtnXDef,oBtnA,oSayN,oBtnP
 //Proceso para mostrar videos
 aTDBF[DfFot]:="Mostrando videos..." ; oDlgA:UPDATE()
 DEFINE WINDOW oWndV MDICHILD FROM 0,0 TO 524,420 OF M->VP[VP_oVPr] PIXEL TITLE "Videos "+aTDBF[DDesA] HELPID "HID_TarAni_MFV"
  DEFINE BUTTONBAR oBarV 3D SIZE 58,58 OF oWndV
  //Botones para terminar
  DEFINE BUTTON oBtnXDef FILENAME DirSist+"BSalir.BMP" OF oBarV ;
   ACTION oWndV:END() TOOLTIP "Cerrar la ventana y Salir" //Salva el estado de las columnas del listado y se sale
  //Define resto de la ventana
  @ 58,0 ACTIVEX oActiveX PROGID "MediaPlayer.MediaPlayer.1" OF oWndV SIZE 400,400
  @ 463,0 BUTTON oBtnA PROMPT "<" SIZE 20,20 OF oWndV PIXEL UPDATE ; //Boton para ver el video anterior
    ACTION ( aTDBF[DnVid]-=1 ; //No. del video anterior
            ,TarA_MVP(oActiveX,aTDBF),aTDBF:=TarA_DF(aTDBF) ; //Corre el video
            ,oWndV:UPDATE(),oWndV:aEvalWhen() ) ; //Refresca la ventana
    MESSAGE "Ver el video anterior" WHEN ( aTDBF[DnVid]>1 )
  @ 466,25 SAY oSayN VAR aTDBF[DfVid] OF oWndV UPDATE PIXEL COLOR "B/W"
  @ 463,380 BUTTON oBtnP PROMPT ">" SIZE 20,20 OF oWndV PIXEL UPDATE ; //Boton para ver el Video posterior
    ACTION ( aTDBF[DnVid]+=1 ; //No. del video posterior
            ,TarA_MVP(oActiveX,aTDBF),aTDBF:=TarA_DF(aTDBF) ; //Corre el video
            ,oWndV:UPDATE(),oWndV:aEvalWhen() ) ; //Refresca la ventana
    MESSAGE "Ver el video posterior" WHEN ( aTDBF[DnVid]<LEN(aTDBF[DaVid]) )
 ACTIVATE WINDOW oWndV ;
  ON RESIZE (TarA_ResizeV(oWndV,oActiveX,oBtnA,oSayN,oBtnP)) ; //Ajusta el Video,BotonAnt,NombVideo,BotonPos al tamaño de la ventana
  ON INIT ( TarA_MVP(oActiveX,aTDBF),ColocaMB(oBtnXDef) ) ;
  VALID( oActiveX:END(),oBarV:END(),aTDBF[DFoVi]:=1,TarA_DF(aTDBF),oDlgA:UPDATE(),oDlgA:aEvalWhen(),.T. ) //Al avandonar la ventana del video, Cierra el objeto video, Define que esta mostrando fotos, Define la foto a mostrar
RETURN(aTDBF)
//-----------------------------------------------------------------------------
//Define Nombre del archivo de la Foto/Video a mostrar
STATIC FUNCTION TarA_DF(aTDBF) //Arreglo para los campos
 IF STRTRAN(aTDBF[DaFot,aTDBF[DnFot]],DirSist,"")="Foto"
  aTDBF[DfFot]:="" //Foto x/x Archivo. No muestra nada cuando es la foto por defecto
 ELSE
  aTDBF[DfFot]:="Foto: "+LTRIM(STR(aTDBF[DnFot]))+"/"+LTRIM(STR(LEN(aTDBF[DaFot])))+"- "+STRTRAN(aTDBF[DaFot,aTDBF[DnFot]],DirGana,"") //Regresa el nombre del archivo que contiene la foto
 ENDIF
 IF EMPTY(aTDBF[DaVid]) //Si no hay viedos
  aTDBF[DfVid]:=""
 ELSE
  aTDBF[DfVid]:="Video: "+LTRIM(STR(aTDBF[DnVid]))+"/"+LTRIM(STR(LEN(aTDBF[DaVid])))+" - "+STRTRAN(aTDBF[DaVid,aTDBF[DnVid]],DirVide,"") //Regresa el nombre del archivo que contiene el video
 ENDIF
RETURN(aTDBF)
//-----------------------------------------------------------------------------
//Activa propiedades del video a mostrar
STATIC FUNCTION TarA_MVP(oActiveX,aTDBF) //Objeto ActiveX, Arreglo con campos
 oActiveX:AllowChangeDisplaySize:=.T.
 oActiveX:AutoSize:=.T. //El tamaño del video sera automatico? Debe estar activado AllowChangeDisplaySize:=.T.
 oActiveX:DisplaySize:=7 //
 oActiveX:ShowControls:=.T. //Se muestran los controles del video principales? (Play, Pausa, Stop)
 oActiveX:AllowScan:=.T. //Activa/Desactiva el modo para ser usado con ShowPositionControls:=.T. (Funciona con WMV. No con AVI,MPG)
 oActiveX:ShowPositionControls:=.T. //Se muestran los controles de video para mover su posicion?. AllowScan:=.T. debe estar activado (IrAlInicio, RegresoRaripo, AvenceRapido, IrAlFinal)
 oActiveX:ShowStatusBar:=.T. //Se muestra la linea que contiene el estado del video? (Nombre del video, Tiempo reproducido/Tiempo total)
 oActiveX:SetProp("FileName",aTDBF[DaVid,aTDBF[DnVid]])
 oActiveX:Do("Play")
RETURN(NIL)
//----------------------------------------------------------------------------//
//Ajusta tamaño de los componentes de la ventana
STATIC FUNCTION TarA_ResizeV(oWndV,oActiveX,oBtnA,oSayN,oBtnP) //Ventana,Video,BotonAnt,NombVideo,BotonPos
 LOCAL oRect:=oWndV:GetCliRect(M->VP[VP_oVPr])
 oActiveX:Move(58,0,oRect:nRight-oRect:nLeft-5,oRect:nBottom-oRect:nTop-90,.T.) //Mueve la ventana del video
 oBtnA:Move(oRect:nBottom-25,0,,,.T.) //Mueve el Boton para ver el video anterior
 oSayN:Move(oRect:nBottom-22,25,,,.T.) //Mueve el lugar donde se muestra el nombre del archivo
 oBtnP:Move(oRect:nBottom-25,oRect:nRight-25,,,.T.) //Mueve el Boton para ver el video posterior
RETURN(NIL)
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com

Continue the discussion