ACTIVEX WMPlayer.OCX.7

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

User avatar
mustafa
Posts: 1160
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Contact:

Re: ACTIVEX WMPlayer.OCX.7

Post by mustafa »

Hola amigos veo que estais incrementando VLC jimmy y daniel

viewtopic.php?f=5&t=6884&hilit=VLC

Que diferencia hay con VLC y WMPlayer.OCX.7 ?

ficheros mp4 , avi , mp3, jpg , png <== WMPlayer.OCX.7 OK!

Saludos/Regards/Salam

*------------------------------- Google ----------------------------------*

Hello friends I see that you are increasing VLC jimmy y daniel

viewtopic.php?f=5&t=6884&hilit=VLC

What is the difference with VLC and WMPlayer.OCX.7?

mp4, avi, mp3, jpg, png files <== WMPlayer.OCX.7 OK!

Saludos/Regards/Salam

Mustafa

Code: Select all


#include "hmg.ch"
*---------------------------------------------*
*  © Gripau - Soft » Mustafa López «  *
*--------------------------------------------*
*-------------------------------------------------------------*
Function MAIN
*-------------------------------------------------------------*

*-------------------------------------*
 REQUEST DBFCDX, DBFFPT
 RDDSETDEFAULT( "DBFCDX" )
*-------------------------------------*
  REQUEST HB_CODEPAGE_ESWIN     
  HB_SETCODEPAGE("ESWIN")    
 
  REQUEST HB_LANG_ES   
  HB_LANGSELECT("ES")  
*-------------------------------------*
   SET CENTURY ON 
   SET DATE FRENCH 
   SET ESCAPE ON
   SET DELETE ON
   SET NAVIGATION EXTENDED
   SET LANGUAGE TO SPANISH
   SET CODEPAGE TO UNICODE
   SET BROWSESYNC ON	
   SET TOOLTIPSTYLE BALLOON
   SET TOOLTIPCUSTOMDRAW ON
*-------------------------------------------------------------*      
  PUBLIC cFolder := HB_CurDrive() + ":\" + Alltrim(CurDir())    
*-------------------------------------------------------------*      
  PUBLIC p_GetFile , xeck0 , xeck1 
*-------------------------------------------------------------*     

  DIRCHANGE(cFolder)

  IF !FILE("arq.dbf")
      NoEstaDBF()
  ENDIF 
 
  IF !FILE('xeckyn.mem')
     xeck0  := .T.
     xeck1  := .F.
     SAVE TO xeckyn.mem ALL LIKE  xeck*
  ELSE
     RESTORE FROM xeckyn.mem ADDITIVE
  ENDIF 

          DEFINE WINDOW Form_1       ;
                AT 0,0               ;
                WIDTH 995            ;
                HEIGHT 650           ;
                TITLE SPACE(3)+'File Selection m3u - 2021' ;    
                ICON 'Logo'          ; 
                MAIN  NOSIZE NOMAXIMIZE  ;
                ON INIT Play_Movie_1()  

                ON KEY ESCAPE ACTION Form_1.Release  

                DEFINE ACTIVEX Test
			ROW 030 
			COL 028 
			WIDTH  800  
			HEIGHT 550
			PROGID "WMPlayer.OCX.7"  
		END ACTIVEX

      DEFINE BUTTON Button_01
        ROW    030
        COL    846
        WIDTH  123
        HEIGHT 032
        CAPTION "Open File" 
        ACTION  f_importar()  
     END BUTTON

     DEFINE BUTTON Button_02
        ROW    064 
        COL    846
        WIDTH  123
        HEIGHT 032  
        CAPTION "Play" 
        ACTION  ( Form_1.Test.Object:controls:play() )  
     END BUTTON
   
     DEFINE BUTTON Button_03
        ROW    098 
        COL    846
        WIDTH  123
        HEIGHT 032  
        CAPTION "Pause" 
        ACTION  ( Form_1.Test.Object:controls:pause() )    
     END BUTTON
 
    DEFINE BUTTON Button_04
        ROW    132  
        COL    846
        WIDTH  123
        HEIGHT 032  
        CAPTION "Stop" 
        ACTION  ( Form_1.Test.Object:controls:Stop() )  
     END BUTTON
 
     DEFINE BUTTON Button_05
        ROW   166 
        COL    846
        WIDTH  123
        HEIGHT 032  
        CAPTION "Without Controls" 
        ACTION   ( Form_1.Test.Object:uiMode :="none" )  
     END BUTTON
 
     DEFINE BUTTON Button_06
        ROW    200 
        COL    846
        WIDTH  123
        HEIGHT 032  
        CAPTION "With Controls" 
        ACTION   ( Form_1.Test.Object:uiMode := "full"  )  
     END BUTTON
     
    DEFINE BUTTON Button_07
        ROW    234 
        COL    846
        WIDTH  123
        HEIGHT 032 
        CAPTION "Previus" 
        ACTION   (Form_1.Test.Object:controls:Previous() )
     END BUTTON

    DEFINE BUTTON Button_08
        ROW    268  
        COL    846
        WIDTH  123
        HEIGHT 032  
        CAPTION "Next" 
        ACTION  (Form_1.Test.Object:controls:Next() )
     END BUTTON

     DEFINE BUTTON Button_09
        ROW    302  
        COL    846
        WIDTH  123
        HEIGHT 032 
        CAPTION "FullScreen" 
        ACTION   ( Form_1.Test.Object:Fullscreen := .T. )    
     END BUTTON

    DEFINE BUTTON Button_10
        ROW    336   
        COL    846
        WIDTH  039
        HEIGHT 035
        CAPTION "V-0" 
        ACTION ( Form_1.Test.Object:Settings:volume := - (0) )  
     END BUTTON

     DEFINE BUTTON Button_11
        ROW    336  
        COL    888  
        WIDTH  039  
        HEIGHT 035  
        CAPTION "V-5" 
        ACTION ( Form_1.Test.Object:Settings:volume := + (50) ) 
     END BUTTON

     DEFINE BUTTON Button_12
        ROW    336 
        COL    931 
        WIDTH  039 
        HEIGHT 035 
        CAPTION "V-10" 
        ACTION ( Form_1.Test.Object:Settings:volume := + (100)  )  
     END BUTTON
 
    @ 379,949 TEXTBOX LabelSli VALUE " 5" WIDTH 22 Height  22 MAXLENGTH 5  READONLY  RIGHTALIGN

    @ 379,840 SLIDER Slider_1 ;
          RANGE 0,10 ;
          WIDTH  100 ;
          HEIGHT 35  ;
          VALUE 5 ;
          TOOLTIP "" ;
          ON CHANGE {||Slider1_Change()}

                   DEFINE CHECKBOX checkbox_0
	                  ROW 420  
			  COL 846
			  WIDTH 120
			  HEIGHT 20
			  VALUE xeck0  
			  CAPTION SPACE(5) + "AutoStart"
                   END CHECKBOX

                   DEFINE CHECKBOX checkbox_1
	                  ROW 440 
			  COL 846
			  WIDTH 120
			  HEIGHT 20
			  VALUE  xeck1  
			  CAPTION  SPACE(5)+ "Mute"
                   END CHECKBOX

                   DEFINE BUTTON Button_13
		          ROW 468 
			  COL 846
			  WIDTH 123
			  HEIGHT 32
			  CAPTION "Save Config"
                          ACTION ReverseCheck()
		   END BUTTON	  

                   DEFINE BUTTON Button_14
		          ROW 504 
			  COL 846
			  WIDTH 123
			  HEIGHT 32
			  CAPTION "Zap Base"
                          ACTION Deletery()
		   END BUTTON	 

                   DEFINE BUTTON Button_15
		          ROW 548
			  COL 846
			  WIDTH 123
			  HEIGHT 32
			  CAPTION "Exit"
                          ACTION Form_1.Release
		   END BUTTON	  

                   
    END WINDOW 

    HMG_ChangeWindowStyle ( GetControlHandle("Test","Form_1"), LVS_REPORT, NIL, .T. )

    CENTER WINDOW Form_1
    ACTIVATE WINDOW Form_1

 Return nil

*---------------------------------------------*
Function Slider1_Change()
*---------------------------------------------*

  Local nValue := Form_1.Slider_1.Value

  Form_1.Test.Object:Settings:volume := Form_1.Slider_1.Value * 10 

  Form_1.LabelSli.Value := ALLTRIM( Str(nValue,2) )

 Return Nil

*---------------------------------------------*
PROCEDURE Deletery()
*---------------------------------------------*

 DIRCHANGE(cFolder)

 dbCloseAll()

 IF MsgYesNo("Are you sure ?","Delete DataBase !!!") = .T.  

   SELECT 1
   USE ARQ
   ZAP

   Form_1.Test.Object:controls:Stop() 
   FileDelete("Container.m3u")

 ENDIF

Return Nil

*---------------------------------------------*
PROCEDURE ReverseCheck()
*---------------------------------------------*
 LOCAL bChec00 , bChec01 

   bChec00 := ( IIF( Form_1.checkbox_0.Value,"True","False") )
 
   IF bChec00= "True"  
      xeck0  :=   .T.
    ELSE
      xeck0  :=   .F.
   ENDIF

   bChec01 := ( IIF( Form_1.checkbox_1.Value,"True","False") )
 
   IF bChec01= "True"  
      xeck1  :=   .T.
    ELSE
      xeck1  :=   .F.
    ENDIF

  SAVE TO xeckyn.mem ALL LIKE  xeck*

  RESTORE FROM xeckyn.mem ADDITIVE

  Play_Movie_1()
 
Return Nil

*---------------------------------------------*
PROCEDURE f_importar()
*---------------------------------------------*
  CLOSE DATABASES
 
  varios := .T.       && selecionar varios arquivos
  arq_cas := {}

  p_GetFile := iif( empty( p_GetFile ) , GetMyDocumentsFolder() , p_GetFile )

  arq_cas := Getfile ( { {'Files *.mp3', '*.mp3'}, ;
                         {'Files *.avi', '*.avi'}, ; 
                         {'Files *.mp4', '*.mp4'}, ; 
                         {'Files *.jpg', '*.jpg'}, ; 
                         {'Files *.png', '*.png'}, ;   
                         {'Files *.bmp', '*.bmp'}, ;   
                         {'Files *.gif', '*.gif'}, ;   
                         {'All Files', '*.*'}   }, ;
                         'Open File(s)' ,  p_GetFile , varios , .t. )
                         
  SELECT 1
  USE ARQ 

  if len( arq_cas ) = 0
	return nil
  endif

  for n_for := 1 to len( arq_cas )
	i = n_for + 1

	if n_for = len(arq_cas)     && esta consistencia foi feita pq o ultimo arquivo
		i = 1		    && é sempre o primeiro
	endif

        File_cas :=  arq_cas[ i ] 

        SELECT 1

	append blank

        repl NOME   with  File_cas
 
  next

*-----------------------------------  Create  Container.m3u" -----------------------------------*

   SET PRINTER ON 
   SET CONSOLE OFF  
   SET PRINTER TO "Container.m3u"  

      @ PROW(),PCOL()

      ??'#EXTM3U By © Gripau - Soft'  + SPACE(1) + HB_UChar(187) +' Mustafa López' + SPACE(1) + HB_UChar(171) //  <=  Copyright  
      ? '#EXTINF:-1, Selected Files'+ SPACE(1) + HB_UChar(187) + SPACE(1) + DTOC(DATE()) + SPACE(1) + TIME()

        Select 1
        use arq

   DO WHILE .NOT. EOF()
        SELECT 1
      ? ALLTRIM(NOME)
        SKIP
   ENDDO  
      ?
*------------------------------------------------------------------------------------------------*
   SET CONSOLE ON
   SET PRINTER OFF 

   CLOSE DATABASES   
   Play_Movie_1()  

 Return Nil

*---------------------------------------------*
FUNCTION Play_Movie_1()  
*---------------------------------------------*
      dbcloseall()
      Form_1.Test.Object:Settings:mute := xeck1    
      Form_1.Test.Object:Settings:autoStart := xeck0   
    
  IF ! FILE("Container.m3u")
       MsgStop("File Missing ->'Container.m3u","Attention !!!")
      f_importar() 
      Return nil
   ELSE
      Form_1.Test.Value:= .T.
      Form_1.Test.Object:Settings:autoStart := xeck0 
      Form_1.Test.Object: url := "Container.m3u"  
      Return nil
   ENDIF 

 Return nil

*----------------------------------------------*
 FUNCTION NoEstaDBF()
*----------------------------------------------*

  LOCAL aStru1:={{"nome"   ,"C",250,0}} 

         REQUEST DBFCDX

         dbCreate( "arq.dbf", aStru1, "DBFCDX", .T. )
        

  CLOSE DATABASES
  USE arq NEW
  dbAppend()
  DELETE FOR nome = ""
  PACK
  CLOSE DATABASES
              
 RETURN NIL

*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*-_._-*

Post Reply