[Ex] AudioLect

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
LavaPower
Niveau 1
Niveau 1
Messages : 11
Enregistré le : dim. 17 juil. 2016 18:20
Contact :
Status : Hors ligne

[Ex] AudioLect

#1

Message par LavaPower » lun. 18 juil. 2016 17:23

Bonjour !

Voici mon deuxième programme AutoIt : AudioLect

A quoi sert-il ?
Il permet de lire des fichiers audio

Comment l'utiliser ?
Lors de la première ouverture, il crée un dossier "Musique" dans son dossier. Il vous dira une erreur. Il vous suffira ensuite d'y mettre vos fichiers audio

Que faut-il pour l'utiliser ?
Il vous suffit d'avoir des fichiers .mp3 et .wav

A quoi il ressemble ?
Screenshot du logiciel : Quel est le code ?
Le voici :
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Sound.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("AudioLect", 346, 236, 192, 124)
Global $Label1 = GUICtrlCreateLabel("AudioLect", 88, 8, 175, 45)
GUICtrlSetFont(-1, 30, 400, 0, "Modern No. 20")
Global $Button1 = GUICtrlCreateButton("Jouer", 88, 200, 75, 25)
Global $Button2 = GUICtrlCreateButton("Stop", 184, 200, 75, 25)
Global $Button3 = GUICtrlCreateButton("Précédent", 8, 200, 75, 25)
Global $Button4 = GUICtrlCreateButton("Suivant", 264, 200, 75, 25)
Global $Progress1 = GUICtrlCreateProgress(24, 112, 294, 17, BitOR($PBS_SMOOTH, $WS_BORDER))
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0xFFFFFF)
Global $Slider1 = GUICtrlCreateSlider(125, 144, 150, 45)
GUICtrlSetData(-1, 50)
Global $Label2 = GUICtrlCreateLabel("Musique :", 32, 80, 50, 17)
Global $Label3 = GUICtrlCreateLabel("Musique", 88, 80, 300,17)
Global $Label4 = GUICtrlCreateLabel("Volume :", 70, 152, 45, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


If FileExists(@ScriptDir & "\Musique") = 0 Then
        DirCreate(@ScriptDir & "\Musique")
EndIF

$listeFichiers = _FileListToArrayRec(@ScriptDir&"\Musique", "*.mp3;*.wav", 1, 0, 1, 0)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "AudioLect", "ERREUR : " & @error & @CRLF & "Il n'y a peut être pas de fichier")

Dim $Number = 1
Dim $Set = 0
Dim $Sound

GUICtrlSetData($Label3,$listeFichiers[$Number])

While 1
        If $Set <> 0 Then
                If _SoundLength($Sound) = _SoundPos($Sound) Then
                        $Set = 0
                        _SoundClose($Sound)
                        GUICtrlSetData($Button1,"Jouer")
                        $Number = $Number + 1
                        If $Number = Ubound($listeFichiers) Then
                                $Number = 1
                        EndIf
                        GUICtrlSetData($Label3,$listeFichiers[$Number])
                        $Sound = _SoundOpen(@ScriptDir &"\Musique\"&$listeFichiers[$Number])
                        If @error = 2 Then
                                MsgBox($MB_SYSTEMMODAL, "Error", "Ce fichier n'existe pas")
                        Else
                                _SoundPlay($Sound)
                                $Set = 1
                                GUICtrlSetData($Button1, "Pause")
                        EndIf
                Else
                        $percent = Round((_SoundPos($sound, 2)/_SoundLength($sound, 2))*100)
                        GuiCtrlSetData($Progress1, $percent)
                EndIf
        EndIf
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        If $Set = 0 Then
                                $Sound = _SoundOpen(@ScriptDir &"\Musique\"&$listeFichiers[$Number])
                                If @error = 2 Then
                                        MsgBox($MB_SYSTEMMODAL, "Error", "Ce fichier n'existe pas")
                                Else
                                        _SoundPlay($Sound)
                                        $Set = 1
                                        GUICtrlSetData($Button1, "Pause")
                                EndIf
                        ElseIf $Set = 1 Then
                                _SoundPause($Sound)
                                GUICtrlSetData($Button1, "Reprise")
                                $Set = 2
                        Else
                                _SoundResume($Sound)
                                GUICtrlSetData($Button1, "Pause")
                                $Set = 1
                        EndIf
                Case $Button2
                        If $Set <> 0 Then
                                _SoundClose($Sound)
                                GUICtrlSetData($Progress1,0)
                                GUICtrlSetData($Button1,"Jouer")
                                $Set = 0
                        EndIf
                Case $Button4
                        If $Set <> 0 Then
                                _SoundClose($Sound)
                                GUICtrlSetData($Progress1,0)
                        EndIf
                        $Number = $Number + 1
                        If $Number = Ubound($listeFichiers) Then
                                $Number = 1
                        EndIf
                        GUICtrlSetData($Label3,$listeFichiers[$Number])
                Case $Button3
                        If $Set <> 0 Then
                                _SoundClose($Sound)
                                GUICtrlSetData($Progress1,0)
                        EndIf
                        $Number = $Number - 1
                        If $Number = 0 Then
                                $Number = Ubound($listeFichiers)-1
                        EndIf
                        GUICtrlSetData($Label3,$listeFichiers[$Number])
                Case $Slider1
                        SoundSetWaveVolume(GUICtrlRead($Slider1))
        EndSwitch
WEnd
Un lien pour le télécharger ?
Bien sur,
32bits : http://www.mediafire.com/download/ttern ... ioLect.Exe
64bits : http://www.mediafire.com/download/c3skx ... 64bits.Exe

Bonne journée

marcgforce
Niveau 3
Niveau 3
Messages : 33
Enregistré le : lun. 07 mars 2016 07:20
Status : Hors ligne

Re: [Ex] AudioLect

#2

Message par marcgforce » jeu. 21 juil. 2016 12:42

le script est sympatique, mais pourquoi ne pas demander à l'utilisateur de sélectionner un dossier musique quand il n'y a rien dans le dossier par défaut au lieu de sortir brutalement...

1- crée un petit fichier ini au démarrage de l'appli qui pourra servir a retrouver le dernier titre lu (par ex) et le répertoire de musique de l'utilisateur.
si aucun fichier wave ou mp3 n'est présent dans le dossier, tu boucles avec un message d'aide.

2- fais enregistrer dans ce fichier ini dans le @scriptdir

le programme sera plus sympa.

Répondre