[R] La musique ne se joue pas

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
LavaPower
Niveau 1
Niveau 1
Messages : 11
Enregistré le : dim. 17 juil. 2016 19:20
Status : Hors ligne

[R] La musique ne se joue pas  

#1

Message par LavaPower »

Bonjour, c'est encore moi !

Désolé de vous importunez encore une fois mais je bosse sur un lecteur de musique. Aucune erreur lors du test du code mais la musique de se lance pas.

Voici le code :

Code : Tout sélectionner

#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(112, 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 :", 56, 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", "*", 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")
		Else
			$pos = _SoundPos($Sound)*100/_SoundLength($Sound)
			GUICtrlSetData($Progress1,$pos)
		EndIf
	EndIf
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			If $Set = 0 Then
				$aSound = _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($Button1,"Jouer")
				$Set = 0
			EndIf
		Case $Button4
			$Number = $Number + 1
			If $Number = Ubound($listeFichiers) Then
				$Number = 1
			EndIf
			GUICtrlSetData($Label3,$listeFichiers[$Number])
		Case $Button3
			$Number = $Number - 1
			If $Number = 0 Then
				$Number = Ubound($listeFichiers)-1
			EndIf
			GUICtrlSetData($Label3,$listeFichiers[$Number])
		Case $Slider1
			SoundSetWaveVolume(GUICtrlRead($Slider1))
	EndSwitch
WEnd
Merci encore une fois de votre aide !
Modifié en dernier par LavaPower le lun. 18 juil. 2016 17:30, modifié 1 fois.
Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 11:57
Status : Hors ligne

Re: [...] La musique ne se joue pas

#2

Message par Nicoloquinte »

C'est bizare , ta un sounClose avant le soundOpen , met pas le soundOpen dans la While , met le plus tot , et tes conditions aussi
Nico ¤_¤
Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 11:57
Status : Hors ligne

Re: [...] La musique ne se joue pas

#3

Message par Nicoloquinte »

On fait :mrgreen: comme ça :mrgreen:
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>

    ; Crée une constante de portée locale avec chemin du fichier qui sera lu/
    Local Const $sFilePath = @WorkingDir &  "\Fichier.txt"

    ; Ouvre le fichier pour un accès en lecture/écriture.
    Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
    If $hFileOpen = -1 Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de la lecture du fichier Fichier.txt")
    EndIf


    FileSetPos($hFileOpen, 0, $FILE_BEGIN)

   MsgBox(1,"Msage",FileRead($hFileOpen))

Tu replace les FileOpen par les SoundOpen ..... :D 8) en adaptant bien sur ($Fo_read pour l'audio :mrgreen: )
Modifié en dernier par Nicoloquinte le lun. 18 juil. 2016 16:04, modifié 1 fois.
Nico ¤_¤
Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 11:57
Status : Hors ligne

Re: [...] La musique ne se joue pas

#4

Message par Nicoloquinte »

Haaaa non pour moi SoundOpen Et _SoundOpen ne marchent pas même avec l'udf :(
Nico ¤_¤
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [...] La musique ne se joue pas

#5

Message par orax »

_SoundOpen retourne la variable $aSound, mais elle n'est jamais utilisée. :?
C'est $aSound qu'il faut utiliser et non $Sound.
À première vue, la variable $Sound ne sert à rien.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
LavaPower
Niveau 1
Niveau 1
Messages : 11
Enregistré le : dim. 17 juil. 2016 19:20
Status : Hors ligne

Re: [...] La musique ne se joue pas

#6

Message par LavaPower »

Effectivement orax avait raison ! Une erreur évitable :(

Bref, merci à tous de votre aide
Avatar du membre
Nicoloquinte
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 15 juil. 2016 11:57
Status : Hors ligne

Re: [R] La musique ne se joue pas

#7

Message par Nicoloquinte »

erreur de zieux :shock: :shock:
Nico ¤_¤
Répondre