Jump to content

Complete media player !


The Real Wine
 Share

Recommended Posts

Comments in French (sorry I'm a french newbie :"> )

Files player (Word, Excel, Powerpoint, Notepad)

Mp3,Wav player

Avi, Mpg player

Session with login "coucou" to connect the Avi player (pwd empty)

Thanks to zeroZshadow for the requests to the dll Winmm.dll (mediaplayer)

Thanks to Sylvanie for his precious help and his initiation to AutoIt Scripting :)

by,by,

(2 weeks for making this prog...lol)

lecteur.au3

Link to comment
Share on other sites

good job, i prefer yours of zero's :)

[font="Times"] If anyone remembers me, I am back. Maybe to stay, maybe not.----------------------------------------------------------------------------------------------------------[/font][font="Times"]Things I am proud of: Pong! in AutoIt | SearchbarMy website: F.R.I.E.S.A little website that is trying to get started: http://thepiratelounge.net/ (not mine)[/font][font="Times"] ----------------------------------------------------------------------------------------------------------[/font][font="Arial"]The newbies need to stop stealing avatars!!! It is confusing!![/font]

Link to comment
Share on other sites

; Script generated by AutoBuilder 0.5 Prototype

#include <GuiConstants.au3>

If Not IsDeclared('WS_CLIPSIBLINGS') Then Global $WS_CLIPSIBLINGS = 0x04000000

;Creation of the GUI
Global $gui=GuiCreate("Wine's App 1", 550, 310,(@DesktopWidth-392)/2, (@DesktopHeight-310)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)

;Prime coat Light blue
GUISetBkColor(0x6699FF)
;Mode "Coordinated Absolute"
AutoItSetOption("GUICoordMode",1)
;Mode "Events" activated
AutoItSetOption("GuiOnEventMode",1)
;Posting of the GUI
GUISetState()

;Control signature
$Label_Wine = GUICtrlCreateLabel("The Real Wine", 455, 290, 95, 50)
GUICtrlSetColor ($Label_Wine, 0x9932CC)
GUICtrlSetFont($Label_Wine,9,200,4,"Matura MT Script Capitals")

;Groups of the functionalities (Organization)
$Groupe_audio = GUICtrlCreateGroup("Audio", 360, 20, 180, 90)
$Groupe_session_video = GUICtrlCreateGroup("Video session", 5, 5, 180, 160)
$Groupe_video = GUICtrlCreateGroup("Video", 5, 190, 430, 110)

;Image of Rei
FileInstall("C:\Documents and Settings\Administrator\Office\rei.jpg",@TempDir&"\rei.jpg")
$Image = GUICtrlCreatePic(@TempDir&"\rei.jpg", 200, 25, 150, 150)

;Controls of volume
$titre_volume = GUICtrlCreateLabel("Volume", 390, 120, 100)
Global $volume = GUICtrlCreateSlider(370, 140, 100,20)
GUICtrlSetData($volume,50)

;FINELY OF THE GUI PRINCIPAL
;Small file
$menufichier = GUICtrlCreateMenu("File")
$ouvrirfichier = GUICtrlCreateMenu("Open", $menufichier)

$ouvrirfichierword = GUICtrlCreateMenuitem("Word File", $ouvrirfichier)
$ouvrirfichierexcel = GUICtrlCreateMenuitem("Excel File", $ouvrirfichier)
$ouvrirfichierpowerpoint = GUICtrlCreateMenuitem("Powerpoint File", $ouvrirfichier)
$separator1 = GuiCtrlCreateMenuitem ("",$ouvrirfichier)
$ouvrirfichiertexte = GUICtrlCreateMenuitem("Text File", $ouvrirfichier)

$separator2 = GuiCtrlCreateMenuitem ("",$menufichier)
$quitter = GUICtrlCreateMenuitem("Quit",$menufichier)

;Menu Audio
$menuaudio = GUICtrlCreateMenu("Audio")
$menu_load_audio = GUICtrlCreateMenuitem("To Charge",$menuaudio)
$menu_play_audio = GUICtrlCreateMenuitem("Play",$menuaudio)
$menu_pause_audio = GUICtrlCreateMenuitem("Pause",$menuaudio)
$menu_stop_audio = GUICtrlCreateMenuitem("Stop",$menuaudio)

;Menu video
$menuvideo = GUICtrlCreateMenu("Video")
$menu_charger = GUICtrlCreateMenuitem("To Charge",$menuvideo)
GUICtrlSetState($menu_charger,$GUI_DISABLE)
$menu_lecture = GUICtrlCreateMenuitem("Reading",$menuvideo)
GUICtrlSetState($menu_lecture,$GUI_DISABLE)
$menu_pause = GUICtrlCreateMenuItem("Pause",$menuvideo)
GUICtrlSetState($menu_pause,$GUI_DISABLE)
$menu_stop = GUICtrlCreateMenuItem("Stop",$menuvideo)
GUICtrlSetState($menu_stop,$GUI_DISABLE)

;Menu help
$aide = GUICtrlCreateMenu("Help")
$aidereel = GUICtrlCreateMenuitem("AutoIt Help", $aide)


;CONTRÔLES DE LA GUI PRINCIPALE
;Contrôle de la session vidéo
$Button_1 = GuiCtrlCreateButton("Connect", 35, 100, 100, 20)
$Button_2 = GuiCtrlCreateButton("Disconnect", 35, 130,100, 20, )
GUICtrlSetState($Button_2,$GUI_DISABLE)
$label_1 = GUICtrlCreateLabel("Login", 30, 30, 60, 20)
$label_2 = GUICtrlCreateLabel("Password", 10, 60, 80, 20)
$Input_1 = GuiCtrlCreateInput("Cuckoo", 90, 30, 85, 20)
$Input_2 = GuiCtrlCreateInput("", 90, 60, 85, 20, $ES_PASSWORD)

;Contrôles du lecteur audio
$Liste_audio = GUICtrlCreateCombo("",370,40, 160,-1,$CBS_DROPDOWN+$CBS_AUTOHSCROLL+$WS_VSCROLL+$CBS_SORT);ComboBox triée par ordre alphabétique
$play_audio = GUICtrlCreateButton("Play", 370, 70, 40)
$pause_audio = GUICtrlCreateButton("Pause", 410, 70, 40)
$stop_audio = GUICtrlCreateButton("Stop", 450, 70, 40)
$load_audio = GUICtrlCreateButton("Charge", 490, 70, 40)

;Contrôles du lecteur video
$bouton_lecture = GuiCtrlCreateButton("Read", 20, 210, 88, 30)
GUICtrlSetState($bouton_lecture,$GUI_DISABLE)
Global $bouton_pause = GuiCtrlCreateButton("Pause", 108, 210, 88, 30)
GUICtrlSetState($bouton_pause,$GUI_DISABLE)
Global $bouton_stop = GuiCtrlCreateButton("Stop", 196, 210, 88, 30)
GUICtrlSetState($bouton_stop,$GUI_DISABLE)
$bouton_charger = GuiCtrlCreateButton("Charge", 284, 210, 88, 30)
GUICtrlSetState($bouton_charger,$GUI_DISABLE)
;Barre de progression du lecteur vidéo
$texte_duree_video = GUICtrlCreateLabel("Progression", 20, 250, 60, 20)
$duree_video = GUICtrlCreateSlider(80, 250, 200, 20)
GUICtrlSetState($duree_video,$GUI_DISABLE)
;Compteur de progression
$affichage_duree_video = GUICtrlCreateLabel("", 290, 250, 144, 20)

;DECLARATION DES VARIABLES GLOBALES 
;Déclaration des variables globales du lecteur vidéo
Global $titrevideo="none";titre de la video
Global $pause=0;pause
Global $video="none";chemin plus titre du fichier de la vidéo
Global $dureemilli=0; durée de la vidéo en millisecondes
Global $dureeseconde = 0;durée de la vidéo en secondes (logique!)
Global $position = 0;position du curseur dans la barre de progression
Global $pas=0;avancement du curseur pour la barre de progression

Global $heure,$minute,$seconde;heure, minute et seconde du compteur de progression
Global $heure2=0;heure,...
Global $minute2=0;...minute,...
Global $seconde2=0;...seconde du compteur total
Global $tempsseconde=0;temps total qui est converti par la fonction heureminuteseconde

;DECLARATION DES EVENEMENTS DE LA GUI ET DES CÔNTROLES
;Evenement fermeture de l'application
GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")
;Evenement quitter par le menu fichier
GUICtrlSetOnEvent($quitter,"_Exit")
;Evenement de la session vidéo
GuiCtrlSetOnEvent($Button_1,"verifsession")
GuiCtrlSetOnEvent($Button_2,"deconnexion")
;Evenement d'ouverture des fichiers
GuiCtrlSetOnEvent($ouvrirfichierword,"word")
GuiCtrlSetOnEvent($ouvrirfichierexcel,"excel")
GuiCtrlSetOnEvent($ouvrirfichierpowerpoint,"powerpoint")
GuiCtrlSetOnEvent($ouvrirfichiertexte,"texte")
;Evenements des menus et boutons du lecteur vidéo
GuiCtrlSetOnEvent($menu_charger,"chargervideo")
GuiCtrlSetOnEvent($menu_lecture,"lecturevideo")
GuiCtrlSetOnEvent($menu_pause,"pausevideo")
GuiCtrlSetOnEvent($menu_stop,"stopvideo")
GuiCtrlSetOnEvent($bouton_charger,"chargervideo")
GuiCtrlSetOnEvent($bouton_lecture,"lecturevideo")
GuiCtrlSetOnEvent($bouton_pause,"pausevideo")
GuiCtrlSetOnEvent($bouton_stop,"stopvideo")
GuiCtrlSetOnEvent($duree_video,"movePosition")
;Evenements des menus et boutons du lecteur audio
GuiCtrlSetOnEvent($menu_load_audio,"charger_audio")
GuiCtrlSetOnEvent($menu_play_audio,"lecture_audio")
GuiCtrlSetOnEvent($menu_pause_audio,"pause_audio")
GuiCtrlSetOnEvent($menu_stop_audio,"stop_audio")
GuiCtrlSetOnEvent($play_audio,"lecture_audio")
GuiCtrlSetOnEvent($pause_audio,"pause_audio")
GuiCtrlSetOnEvent($stop_audio,"stop_audio")
GuiCtrlSetOnEvent($load_audio,"charger_audio")
;Evenement du volume global de l'appli (volume windows)
GuiCtrlSetOnEvent($volume,"reglage_volume")
;Evenement du fichiers d'aide
GuiCtrlSetOnEvent($aidereel,"_Aide")

;Pause de la vidéo par la touche "Espace"
HotKeySet("{SPACE}","pausevideo")

;PROGRAMME EN COURS D'EXECUTION (EN ATTENTE D'EVENEMENT)
While 1
    Sleep(50)
WEnd
Exit

;FONTION D'AIDE
Func _Aide()
    run(@ComSpec & " /c " & '"C:\Program Files\AutoIt3\AutoIt.chm"', "",@SW_HIDE)
EndFunc

;FONCTION EXIT
Func _Exit()
    SoundSetWaveVolume(100)
    mciSendString("close myvideo")
    Exit
EndFunc

;FONCTIONS DE LA SESSION VIDEO
;Fonction de connexion au lecteur vidéo
Func verifsession()
    $login=GUICtrlRead ( $Input_1)
    $mdp=GUICtrlRead ( $Input_2)
    If GUICtrlRead($menu_charger)=196 Then
        If $login = "Cuckoo" Then
        
            GUICtrlSetState($menu_charger,$GUI_ENABLE)
            GUICtrlSetState($bouton_charger,$GUI_ENABLE)
            
            GUICtrlSetState($Button_1,$GUI_DISABLE)
            GUICtrlSetState($Button_2,$GUI_ENABLE)
            
            MsgBox(64,"Session","Lecteur vidéo activé")
            
            GUICtrlSetData($Input_1,"")
            GUICtrlSetData($Input_2,"")
        Else
            MsgBox(48,"Session","Mauvais Login ou mauvais mot de passe")
        EndIf
    EndIf
EndFunc

;Deconnexion au lecteur video
Func deconnexion()
    If GUICtrlRead($menu_charger)=68 Then;etat enable(64) + unchecked(4)
        If WinExists("Lecteur vidéo - "&$titrevideo) Then
            WinKill("Lecteur vidéo - "&$titrevideo)
        EndIf
        
        GUICtrlSetState($menu_charger,$GUI_DISABLE)
        GUICtrlSetState($menu_lecture,$GUI_DISABLE)
        GUICtrlSetState($menu_pause,$GUI_DISABLE)
        GUICtrlSetState($menu_stop,$GUI_DISABLE)
        
        GUICtrlSetState($bouton_charger,$GUI_DISABLE)
        GUICtrlSetState($bouton_lecture,$GUI_DISABLE)
        GUICtrlSetState($bouton_pause,$GUI_DISABLE)
        GUICtrlSetState($bouton_stop,$GUI_DISABLE)
        GUICtrlSetState($duree_video,$GUI_DISABLE)
        
        GUICtrlSetState($Button_2,$GUI_DISABLE)
        GUICtrlSetState($Button_1,$GUI_ENABLE)
        
        GUICtrlSetData($affichage_duree_video, "")
        
        MsgBox(64,"Session","Lecteur vidéo désactivé")

        GUICtrlSetData($Input_1,"")
        GUICtrlSetData($Input_2,"")
    EndIf
EndFunc

;FONCTIONS DU MENU FICHIER
;Fonctions d'ouverture de fichiers Word
Func word()
    $fichierword = FileOpenDialog("Choisissez un fichier...","c:/","Documents Word (*.doc;*dot)",3)
    If $fichierword <>1 Then
        $fichierword=Chr(34)&$fichierword&Chr(34)
        run("C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE "&$fichierword)
    EndIf
EndFunc
;Fonctions d'ouverture de fichiers Excel
Func excel()
    $fichierexcel = FileOpenDialog("Choisissez un fichier...","c:/","Documents Excel (*.xls)",3)
    If $fichierexcel <>1 Then
        $fichierexcel=Chr(34)&$fichierexcel&Chr(34)
        run("C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE "&$fichierexcel)
    EndIf
EndFunc
;Fonctions d'ouverture de fichiers Powerpoint
Func powerpoint()
    $fichierpowerpoint = FileOpenDialog("Choisissez un fichier...","c:/","Documents Powerpoint (*.ppt)",3)
    If $fichierpowerpoint <>1 Then
        $fichierpowerpoint=Chr(34)&$fichierpowerpoint&Chr(34)
        run("C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE "&$fichierpowerpoint)
    EndIf
EndFunc
;Fonctions d'ouverture de fichiers Texte
Func texte()
    $fichiertexte = FileOpenDialog("Choisissez un fichier...","c:/","Documents Texte (*.txt)",3)
    If $fichiertexte <>1 Then
        $fichiertexte=Chr(34)&$fichiertexte&Chr(34)
        run("notepad.EXE "&$fichiertexte)
    EndIf
EndFunc

;FONCTIONS DU LECTEUR AUDIO
;Fonction de chargement d'un ficher audio (wav ou mp3)
Func charger_audio()
    GUICtrlSetData($Liste_audio, "")
    $rep = "none"
    $audio = FileOpenDialog("Ouvrir un fichier audio","e:\","Fichiers Audio (*.mp3;*.wav)", 7)
    $audio2 = StringSplit($audio,"|")
    If $audio2[0]>1 Then
        $rep = $audio2[1]
    ;Mise en Combobox des fichier sélectionnés
        For $i = 2 to $audio2[0]
            GUICtrlSetData($Liste_audio, $audio2[$i])
        Next
    Else
        $audio21 = StringSplit($audio2[1],"\")
        $audio3 = $audio21[$audio21[0]]
        $rep1 = StringInStr($audio2[1],"\",0,-1)
        $rep = StringLeft($audio2[1],$rep1)
        GUICtrlSetData($Liste_audio, $audio3)
    EndIf
EndFunc

Func lecture_audio()
    $audio3=GUICtrlRead($Liste_audio)
    SoundPlay($audio3)
    local $vol = GUICtrlRead($volume)
    SoundSetWaveVolume($vol)
EndFunc

Func pause_audio()
    
EndFunc

Func stop_audio()
    SoundPlay("")
EndFunc

;FONCTIONS DU LECTEUR VIDEO
;Fonction d'appel et d'envoie de string à la dll Winmm.dll
Func mciSendString($string)
    Local $ret
    $ret = DllCall("winmm.dll","int","mciSendString","str",$string,"str","","int",65534,"hwnd",0)
    If Not @error Then Return $ret[2]
EndFunc

;Fonction de chargement d'une vidéo
Func chargervideo()
    
;Desactivation des boutons et menu du lecteur vidéo
    GUICtrlSetState($bouton_lecture,$GUI_DISABLE)
    GUICtrlSetState($bouton_pause,$GUI_DISABLE)
    GUICtrlSetState($bouton_stop,$GUI_DISABLE)
    GUICtrlSetState($menu_lecture,$GUI_DISABLE)
    GUICtrlSetState($menu_pause,$GUI_DISABLE)
    GUICtrlSetState($menu_stop,$GUI_DISABLE)

    $heure=0
    $minute=0
    $seconde=0
    $heure2=0
    $minute2=0
    $seconde2=0
    GUICtrlSetData($affichage_duree_video, $heure&"h"&$minute&"m"&$seconde&"s / "&$heure2&"h"&$minute2&"m"&$seconde2&"s")
    $tempsseconde=0

    mciSendString("close myvideo")
;Ouverture de la fenetre de choix de la vidéo
    $video = FileOpenDialog("Ouvrir une vidéo","f:\","Fichier Vidéo (*.avi;*.mpg)", 3)
;Si la personne clique sur annuler avant de choisir sa vidéo
    If @error then Return
;récuperation du titre du fichier
    $titrevideo = stringsplit($video,"\")
    $titrevideo = $titrevideo[$titrevideo[0]]
    $video = '"'&$video&'"'
    mciSendString("open "&$video&" alias myvideo")
;recuperation de la durée de la vidéo
    $dureemilli = recupdureevideo()
    $dureeseconde = round($dureemilli/1000)
;Pas effectué par la barre de progression toute les secondes
    $pas=(1/$dureeseconde)
;activation et remise à zéro de la barre de progression de la vidé
    GUICtrlSetState($duree_video,$GUI_ENABLE)
    GUICtrlSetData($duree_video,0)
;Calcul de la durée totale du film en heures, minutes et secondes
    heureminutesecondetotal()
    lecturevideo()
EndFunc

;Fonction de lecture de la vidéo
Func lecturevideo()
    $pause = 0
    GUICtrlSetState($bouton_lecture,$GUI_DISABLE)
    GUICtrlSetState($menu_lecture,$GUI_DISABLE)
    local $vol = GUICtrlRead($volume)
    SoundSetWaveVolume($vol)
;Lecture de la vidéo en fonction de la position dans la barre de progression (en millisecondes)
    mciSendString("play myvideo from "&round($position*$dureemilli))
;Initialisation du titre de la fenêtre de la vidéo
    WinSetTitle($titrevideo,"","Lecteur vidéo - "&$titrevideo)
;Activation du mouvement automatique de la barre de progression
    AdlibEnable("updatePosition",1000)
    GUICtrlSetState($bouton_pause,$GUI_ENABLE)
    GUICtrlSetState($bouton_stop,$GUI_ENABLE)
    GUICtrlSetState($menu_pause,$GUI_ENABLE)
    GUICtrlSetState($menu_stop,$GUI_ENABLE)

EndFunc

;Fonction de pause de la vidéo
Func pausevideo()
;Si pause inactive...
    If $pause = 0 Then
       ;...alors pause
        mciSendString("stop myvideo")
        $pause = 1
    ;Désactivation du mouvement automatique de la barre de progression de la vidéo
        AdlibDisable()
        GUICtrlSetState($bouton_lecture,$GUI_ENABLE)
        GUICtrlSetState($menu_lecture,$GUI_ENABLE)
   ;...sinon lecture
    Else
        lecturevideo()
    EndIf
EndFunc

;Fonction de pause plus retour au début de la vidéo
Func stopvideo()
    mciSendString("stop myvideo")
    mciSendString("seek myvideo to start")
;Retour au début de la barre de progression
    GUICtrlSetData($duree_video,0)
    $position=0
    
    $heure=0
    $minute=0
    $seconde=0
    GUICtrlSetData($affichage_duree_video, $heure&"h"&$minute&"m"&$seconde&"s / "&$heure2&"h"&$minute2&"m"&$seconde2&"s")
    $tempsseconde=0
    
    AdlibDisable()
    GUICtrlSetState($bouton_pause,$GUI_DISABLE)
    GUICtrlSetState($bouton_lecture,$GUI_ENABLE)
    GUICtrlSetState($menu_pause,$GUI_DISABLE)
    GUICtrlSetState($menu_lecture,$GUI_ENABLE)
EndFunc

;Fonction de récupération de la durée d'une vidéo
Func recupdureevideo()
    mciSendString("set myvideo time format milliseconds")
    mciSendString("status myvideo length")
EndFunc

;Fonction de conversion d'une durée en secondes en une durée en heures, minutes, secondes
Func heureminuteseconde()
    $reste1 = Mod($tempsseconde,3600)
    $heure = ($tempsseconde-$reste1)/3600;Calcul du nombre d'heures
    $seconde = Mod($reste1,60);Calcul du nombre de secondes
    $minute = ($reste1-$seconde)/60;Calcul du nombre de minutes
EndFunc

Func heureminutesecondetotal()
    $reste1 = Mod($dureeseconde,3600)
    $heure2 = ($dureeseconde-$reste1)/3600;Calcul du nombre d'heures
    $seconde2 = Mod($reste1,60);Calcul du nombre de secondes
    $minute2 = ($reste1-$seconde2)/60;Calcul du nombre de minutes
EndFunc

;Fonction de mouvement automatique lancée toute les secondes par la fonction AdlibEnable()
Func updatePosition()
    $position = $position+$pas
    GUICtrlSetData($duree_video,$position*100)
    $tempsseconde=$tempsseconde+1
    heureminuteseconde()
    GUICtrlSetData($affichage_duree_video, $heure&"h"&$minute&"m"&$seconde&"s / "&$heure2&"h"&$minute2&"m"&$seconde2&"s")
    
    If BitAND(WinGetState ( "Lecteur vidéo - "&$titrevideo),2)<>2 Then
        stopvideo()
        Return
    EndIf
    
    If $position>=1 Then
        AdlibDisable()
        GUICtrlSetData($duree_video,0)
        $position=0
    EndIf
EndFunc

;Fonction de déplacement de la barre de progression (manuellement)
Func movePosition()
;Désactivation du mouvement automatique de la barre de progression
    AdlibDisable()
;Lecture de la valeur du slider manuellement modifiée
    $position=GUICtrlRead($duree_video)
    $position=$position/100
    $tempsseconde=round($position*$dureeseconde)
    heureminuteseconde()
    GUICtrlSetData($affichage_duree_video, $heure&"h"&$minute&"m"&$seconde&"s / "&$heure2&"h"&$minute2&"m"&$seconde2&"s")
    lecturevideo()
EndFunc

;Fonction de réglage du volume global
Func reglage_volume()
    $init_volume = GUICtrlRead($volume) 
    SoundSetWaveVolume($init_volume)
EndFunc
this is sort-of translated but i didn't have much time and some stuff i had to use google for so it probably didn't come out right

[font="Times"] If anyone remembers me, I am back. Maybe to stay, maybe not.----------------------------------------------------------------------------------------------------------[/font][font="Times"]Things I am proud of: Pong! in AutoIt | SearchbarMy website: F.R.I.E.S.A little website that is trying to get started: http://thepiratelounge.net/ (not mine)[/font][font="Times"] ----------------------------------------------------------------------------------------------------------[/font][font="Arial"]The newbies need to stop stealing avatars!!! It is confusing!![/font]

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...