Como reproducir un video mp4

Como reproducir un video mp4

Postby leandro » Sat Feb 13, 2016 2:51 am

Buenas noches para todos..

Estoy intentando reproducir un vídeo de tipo mp4.

Ya corrí el ejemplo testvid.prg y me funciona bien pero solo con *.avi

Alguien sabe como hacerlo?
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como reproducir un video mp4

Postby karinha » Mon Feb 15, 2016 12:03 pm

Mira se ayuda,

Code: Select all  Expand view

#include "fivewin.ch"

Function Main()

   MostraWmp()

Return nil
*-----------------------------------------------------------------------------
Function MostraWmp()

   Local oDlg, oActiveX, cRadioTv:="http://www.tempofm.com.br/tempofm3.asx"

   DEFINE DIALOG oDlg TITLE "WMP"  FROM 1,1 TO 360,430 PIXEL

   oDlg:lHelpIcon := .F.

   oDlg:nStyle := nOr( WS_MINIMIZEBOX ,WS_VISIBLE, WS_CAPTION, WS_SYSMENU ) //, WS_THICKFRAME

   ACTIVATE DIALOG oDlg CENTERED; //NOMODAL;
            ON INIT ( oActiveX := ActivaWMP( oDlg, oActiveX, cRadioTv ),   ;
                    ToolBar(oDlg, oActiveX), MenuRadioTv(oDlg, oActiveX) ) ;
            VALID ( oActiveX:DO( "Stop" ), oActiveX:End(), .T. )

Return nil
*-----------------------------------------------------------------------------
Function ActivaWMP( oDlg, oActiveX, cRadioTv )

   oActiveX = TActiveX():New( oDlg, "MediaPlayer.MediaPlayer.1",;
   oDlg:nTop+30, oDlg:nLeft, oDlg:nRight, oDlg:nBottom-50 )

   oActiveX:SetProp( "FileName", cRadioTv )

Return( oActiveX )
*-----------------------------------------------------------------------------
Function ToolBar(oDlg, oActiveX)

   Local oToolBar, cTitle:="Radio Tempo FM", oFont, oFont2

   DEFINE FONT oFont  NAME "Verdana" SIZE 0, -14 BOLD
   DEFINE FONT oFont2 NAME "Verdana" SIZE 0, -08

   DEFINE ButtonBar oToolBar SIZE 50,28 OF oDlg TOP 2007

   @ 002, 002 COMBOBOX cTitle ITEMS {"Radio Tempo FM",           ;
                                     "Radio Verdes Mares",       ;
                                     "-------------------------",;
                                     "Tv Canção Nova",           ;
                                     "Tv Rai News (Italia)",     ;
                                     "-------------------------",;
                                     "Escolher Arquivo"} PIXEL   ;
              OF oToolBar SIZE 250,150                           ;
              ON CHANGE MudaRadioTV(cTitle, oDlg, oActiveX)

Return nil
*-----------------------------------------------------------------------------
Static Function MenuRadioTv(oDlg, oActiveX)

   Local oMenu

   MENU oMenu 2007
      MENUITEM "&Rádios"
      MENU
         MENUITEM "Radio Tempo FM"    action MudaRadioTV("Radio Tempo FM", oDlg, oActiveX)
         MENUITEM "Radio Jovempan"    action MudaRadioTV("Radio Jovempan (Campinas)", oDlg, oActiveX)
         MENUITEM "Radio FM93"        action MudaRadioTV("Radio FM93", oDlg, oActiveX)
         MENUITEM "Radio Canção Nova" action MudaRadioTV("Radio Canção Nova", oDlg, oActiveX)
         MENUITEM "Radio V.Mares AM"  action MudaRadioTV("Radio Verdes Mares", oDlg, oActiveX)
      ENDMENU

      MENUITEM "&Tvs"
      MENU
         MENUITEM "Tv Canção Nova" action MudaRadioTV("Tv Canção Nova", oDlg, oActiveX)
         MENUITEM "&Tv Internacional"
         MENU
            MENUITEM "Tv Rai News (Italia)" action MudaRadioTV("Tv Rai News (Italia)", oDlg, oActiveX)
            MENUITEM "Tv CM (Argentina)" action MudaRadioTV("Tv CM (Musica Argentina)", oDlg, oActiveX)
            MENUITEM "Knesset TV (Israel)" action MudaRadioTV("Knesset TV (Israel)", oDlg, oActiveX)
         ENDMENU
      ENDMENU
   ENDMENU

   oDlg:setmenu(oMenu)

RETURN oMenu
*-----------------------------------------------------------------------------
Function MudaRadioTV(cTitle, oDlg, oActiveX)

   Local cFile, cString

   oActiveX:DO( "Stop" )

   If cTitle = "Radio Tempo FM"
      oActiveX:SetProp( "FileName", "http://www.tempofm.com.br/tempofm3.asx", "Radio Tempo FM" )
   ElseIf cTitle = "Radio Jovempan (Campinas)"
      oActiveX:SetProp( "FileName", "http://www.dnip.com.br/link/jovempancampinas.wmx" )
   ElseIf cTitle = "Radio Canção Nova"
      oActiveX:SetProp( "FileName", "http://www.cancaonova.com/radiofm.asx" )
   ElseIf cTitle = "Tv Canção Nova"
      oActiveX:SetProp( "FileName", "http://www.cancaonova.com/tvcn.asx" )
   ElseIf cTitle = "Tv Rai News (Italia)"
      oActiveX:SetProp( "FileName", "http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=1" )
   ElseIf cTitle = "Radio Verdes Mares"
      oActiveX:SetProp( "FileName", "http://187.110.226.22:8122" )
   ElseIf cTitle = "Tv CM (Musica Argentina)"
      oActiveX:SetProp( "FileName", "mms://www.cmtv.com.ar:1234" )
   ElseIf cTitle = "Radio FM93"
      oActiveX:SetProp( "FileName", "http://187.110.226.22:8036")
   ElseIf cTitle = "Knesset TV (Israel)"
      oActiveX:SetProp( "FileName", "http://www.knesset.gov.il/broadcast/live.asx")
   ElseIf cTitle = "Escolher Arquivo"
      cString := "wav|*.wav|mp4|*.mp4|*.*|*.*|"
      cFile := cGetFile( cString, "Selecione um arquivo",, CurDrive()+":\"+GetCurDir() )

      If "
*"$cFile .or. !File(cFile)
         cFile:="
"
      Else
         oActiveX:SetProp( "
FileName", cFile )
      Endif

   Endif

Return nil
*---------------------------------------------------------------------------


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7804
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Como reproducir un video mp4

Postby karinha » Mon Feb 15, 2016 12:06 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7804
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Como reproducir un video mp4

Postby acuellar » Mon Feb 15, 2016 5:22 pm

Leandro intenta con éste código

Code: Select all  Expand view

Function PlayVideo()
   local oDlg
   Private oActiveX
   VideoPath:=AllTrim(UBICACION)+AllTrim(NOMBRE)+'.'+EXT
   If !File(VideoPath)
     MsgAlert("No existe el video","Lo siento")
     Return
   Endif
 
   DEFINE DIALOG oDlg TITLE UPPER(NOMBRE) STYLE WS_POPUP; oDlg:lHelpIcon := .F.

   ACTIVATE DIALOG oDlg ON INIT MuestraVIDEO( oDlg ) VALID (oActiveX:controls:Stop(),.T. )
 
Return nil
*
Function MuestraVIDEO( oDlg )
 
   oActiveX = TActiveX():New( oDlg, "WMPlayer.OCX.7" )
   __KeyBoard(chr(13))
   oDlg:oClient = oActiveX
   oDlg:Maximize()

   oActiveX:Settings:Volume = 100
   oActiveX:url = VideoPath
   oActiveX:StretchToFit = .T.
   While oActiveX:Playstate != 1
      SysRefresh()
      If Lastkey()=27
         Exit
      Endif
   End

   oActiveX:End();oActiveX:Controls:Stop();oDlg:End()
Return nil

 


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Como reproducir un video mp4

Postby leandro » Mon Feb 15, 2016 7:55 pm

Muchas gracias a todos por responder

Pruebo y Comento
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como reproducir un video mp4

Postby leandro » Tue Mar 01, 2016 10:33 pm

acuellar Muchas Gracias, ya logre hacer la reproducción.

Con tu código encontré la solución, pero ahora me arroja un error al momento de cerrar el dialogo, el código es el siguiente:

Code: Select all  Expand view

function OTRODIALOGO()
Local oActiveX
local oDlg, oFont3, oFont4, lOk := .F.
local oImageInicia

   local aItems := { { " 01", " C01 - Leandro Arevalo "},;
                     { " 02", " C02 - Lucio Camargo" },;
                     { " 02", " A01 - Ivancho" } }

 VideoPath:="C:\cartera\res\uno.mp4"
   If !File(VideoPath)
     MsgAlert("No existe el video","Lo siento")
     Return
   Endif

vGCed := Space( 18 )
vGMan := Space( 3 )
vGLot := Space( 2 )

  DEFINE FONT oFont3 NAME "Segoe UI" SIZE 0, -25
  DEFINE FONT oFont4 NAME "Segoe UI" SIZE 0, -50
  DEFINE FONT oFontT NAME "Lucida Calligraphy" SIZE 0, -60 BOLD
 
  DEFINE BRUSH oFondo FILE "C:\Cartera\Res\desert.BMP" STRETCH

  DEFINE DIALOG oDlg  STYLE nOr( WS_CHILD, WS_POPUP ) ;
      SIZE ScreenWidth(), ScreenHeight() ;
      BRUSH oFondo TRANSPARENT  //COLOR CLR_WHITE, CLR_DIALOGS
     
  @ 25, 500 SAY "Ciudadela La Bendicion" FONT oFontT COLOR CLR_BLUE, CLR_WHITE ;
      OF oDlg TRANSPARENT PIXEL

   @ 80, ScreenWidth()/3 XBROWSE oBrw ARRAY aItems COLSIZES 800 CELL ;
      FONT oFontMed SIZE 300, 400 NOBORDER PIXEL OF oDlg

   // oBrw:nDataLines = 2
   oBrw:lRecordSelector = .F.
   oBrw:nMarqueeStyle = MARQSTYLE_HIGHLROW
   // oBrw:lHeader   = .T.
   oBrw:lHScroll  = .F.
   oBrw:lVScroll  = .F.
   // oBrw:nStretchCol = 1
   oBrw:bClrStd = { || If( oBrw:nArrayAt % 2 == 0,;
                       { CLR_BLACK, RGB( 0x33, 0x66, 0xCC ) },;
                       { CLR_BLACK, RGB( 0x53, 0x86, 0xEC ) } ) }
   oBrw:bClrSelFocus = { || { CLR_WHITE, RGB( 0x33, 0x33, 0x99  ) } }
   oBrw:bClrSel = { || { CLR_WHITE, RGB( 0x13, 0x13, 0x79  ) } }
   oBrw:SetColor( CLR_WHITE, RGB( 0x33, 0x66, 0xCC ) )

   oBrw:CreateFromCode()
   oBrw:SetArray( aItems )

   oBrw:aCols[ 1 ]:cHeader := "Modulo"
   oBrw:aCols[ 2 ]:cHeader := "Turno"

   oBrw:SetFocus()  
   
   oDlg:bStart = { || MuestraVIDEO( oDlg ) }
 
   ACTIVATE DIALOG oDlg CENTERED VALID (oActiveX:controls:Stop(),.T. )

return lOk

Function MuestraVIDEO( oDlg )
   oActiveX = TActiveX():New( oDlg, "WMPlayer.OCX.7" , oDlg:nTop+160, oDlg:nLeft+80, oDlg:nRight-830, oDlg:nBottom-220)
   oActiveX:Settings:Volume = 5
   oActiveX:url = VideoPath
   oActiveX:StretchToFit = .T.
   While oActiveX:Playstate != 1
      SysRefresh()
      If Lastkey()=27
         Exit
      Endif
   End
   oActiveX:End();oActiveX:Controls:Stop();oDlg:End()
Return nil
 


y el error es el siguiente:

Code: Select all  Expand view

Application
===========
   Path and name: C:\CARTERA\PRG\monitor.exe (32 bits)
   Size: 2,700,800 bytes
   Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20150419)
   FiveWin  Version: FWHX 15.01
   Windows version: 6.2, Build 9200

   Time from start: 0 hours 0 mins 4 secs
   Error occurred at: 03/01/16, 17:30:44
   Error description: Error BASE/1004  Class: 'NIL' has no exported method: CONTROLS
   Args:
     [   1] = U  

Stack Calls
===========
   Called from:  => CONTROLS( 0 )
   Called from: C:\CARTERA\PRG\monitor.prg => (b)OTRODIALOGO( 179 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:END( 518 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:COMMAND( 419 )
   Called from:  => TWINDOW:HANDLEEVENT( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 906 )
   Called from:  => SYSREFRESH( 0 )
   Called from: C:\CARTERA\PRG\monitor.prg => MUESTRAVIDEO( 189 )
   Called from: C:\CARTERA\PRG\monitor.prg => (b)OTRODIALOGO( 177 )
   Called from: .\source\classes\DIALOG.PRG => (b)TDIALOG:TDIALOG( 90 )
   Called from:  => TDIALOG:DISPLAY( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 893 )
   Called from:  => DIALOGBOXINDIRECT( 0 )
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 286 )
   Called from: C:\CARTERA\PRG\monitor.prg => OTRODIALOGO( 179 )
   Called from: C:\CARTERA\PRG\monitor.prg => (b)MAIN( 72 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:LBUTTONDOWN( 2110 )
   Called from:  => TWINDOW:HANDLEEVENT( 0 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3450 )
   Called from:  => WINRUN( 0 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1152 )
   Called from: C:\CARTERA\PRG\monitor.prg => MAIN( 72 )

System
======
 


De paso me gustaría saber como quitar esa barra que reproducción que muestra el windows media player. Al tiempo como reproducir un video de manera continua.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como reproducir un video mp4

Postby karinha » Wed Mar 02, 2016 2:35 pm

Code: Select all  Expand view

#Include "FiveWin.ch"

MEMVAR oActiveX, oDlgP

FUNCTION VIDEO()

   DEFINE DIALOG oDlgP FROM 0,0 TO 300,300 PIXEL TITLE "teste"               ;
          COLORS CLR_BLACK, CLR_WHITE TRANSPARENT
         
   oDlgP:bStart := {||PlayVideo() }

   ACTIVATE DIALOG oDlgP CENTERED ;
            VALID (oActiveX:controls:Stop(),.t.)
     
Return nil

Static Function PlayVideo()
       
   oActiveX = TActiveX():New( oDlgP, "WMPlayer.OCX" )

   __KeyBoard(chr(13))

   oDlgP:oClient = oActiveX

   oActiveX:Settings:Volume = 100

   oActiveX:url ="FIVEWIN.avi"  // "C:\MUSICA\audio1.mp3"

   While oActiveX:Playstate != 1

      SysRefresh()

      If Lastkey()=27
         Exit
      Endif

   EndDo

   oDlgP:End()

Return nil

// FIN
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7804
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Como reproducir un video mp4

Postby karinha » Wed Mar 02, 2016 2:36 pm

// sin code / code - pues muestra errado

#Include "FiveWin.ch"

MEMVAR oActiveX, oDlgP

FUNCTION VIDEO()

DEFINE DIALOG oDlgP FROM 0,0 TO 300,300 PIXEL TITLE "teste" ;
COLORS CLR_BLACK, CLR_WHITE TRANSPARENT

oDlgP:bStart := {||PlayVideo() }

ACTIVATE DIALOG oDlgP CENTERED ;
VALID (oActiveX:controls:Stop(),.t.)

Return nil

Static Function PlayVideo()

oActiveX = TActiveX():New( oDlgP, "WMPlayer.OCX" )

__KeyBoard(chr(13))

oDlgP:oClient = oActiveX

oActiveX:Settings:Volume = 100

oActiveX:url ="FIVEWIN.avi" // "C:\MUSICA\audio1.mp3"

While oActiveX:Playstate != 1

SysRefresh()

If Lastkey()=27
Exit
Endif

EndDo

oDlgP:End()

Return nil

// FIN
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7804
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Como reproducir un video mp4

Postby leandro » Wed Mar 02, 2016 11:05 pm

Muchas Gracias karinha :D

El problema se soluciono definiendo el objeto oActivex como MEMVAR.

Saludos
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como reproducir un video mp4

Postby leandro » Wed Mar 02, 2016 11:06 pm

Tengo otra pregunta....

Me gustaría quitar poder quitar la barrita de reproducción del control oActivex que esta en la parte de abajo. Alguien sabe como hacer eso?

Saludos
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como reproducir un video mp4

Postby cnavarro » Wed Mar 02, 2016 11:25 pm

Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Como reproducir un video mp4

Postby acuellar » Thu Mar 03, 2016 12:45 pm

Leandro
Hazlo así:
oActiveX:uiMode = "none" //También podes poder "mini" por defecto es "full"

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Como reproducir un video mp4

Postby leandro » Fri Mar 04, 2016 12:26 pm

acuellar, muchas gracias por responder..

Pero no me funciona de la manera que dices :(

Cristobal, voy hacer algunas pruebas y comento.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como reproducir un video mp4

Postby acuellar » Fri Mar 04, 2016 12:31 pm

Aquí un link de donde obtener más respuestas

https://msdn.microsoft.com/en-us/library/windows/desktop/dd564089(v=vs.85).aspx

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Julio Cepeda and 88 guests