[Re] Windows media player : lire une musique et passer à une autre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

[Re] Windows media player : lire une musique et passer à une autre  

#1

Message par franco »

Bonjour.

Aimant bien écouter de la musique, j'ai décidé de me créer un petit script, me permettant d'écouter en boucle (For), un dossier prévu à cet effet.

Seul souci : Pendant la lecture d'une musique, je voudrais passer à une autre.
Je n'y arrive pas.


J'arrive à lire musique par musique, mais pas passer volontairement à une autre.


Voici le script en question :
► Afficher le texte
En résumé, il faut que je modifie la fonction _LireMedia pour réussir à faire ce que je veux.


Merci de m'éclairer. :=)



Bon journée / soirée à vous.
Modifié en dernier par franco le ven. 01 avr. 2022 23:01, modifié 1 fois.
L'entraide, c'est mon dada ;)
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Windows media player : lire une musique et passer à une autre

#2

Message par walkson »

Bonjour,
J'ai ce bout de code (minimaliste) basé sur les playlists. Je pense que ça pourrait vous intéresser en l'adaptant mais ça va vous obliger à tout revoir votre code...

Code : Tout sélectionner

HotKeySet("a","suivant")
HotKeySet("z","precedent")
$wmp = ObjCreate("wmplayer.OCX")

$wmp.settings.autoStart = True
$wmp.settings.volume = 50
$wmp.URL = @UserProfileDir & "\Music\30-11-2021.m3u"
ConsoleWrite("Nom de la playliste " & $wmp.currentPlaylist.Name & @CR)
ConsoleWrite("Nombre de morceaux " & $wmp.currentPlaylist.count & @CR)
Sleep(1000)
For $i = 0 To $wmp.currentMedia.attributeCount - 1
	ConsoleWrite($wmp.currentMedia.getAttributeName($i) & " : " & $wmp.currentMedia.getItemInfo($wmp.currentMedia.getAttributeName($i)) & @CR)
Next
Global $nbItem = $wmp.currentPlaylist.count

;PauseAndResume()

While $wmp.Playstate <> 1
    Sleep(100)
WEnd

Func PauseAndResume()
    Sleep(20000)
    $wmp.controls.pause()
    ConsoleWrite("Paused" & @CRLF)
    Sleep(5000)
    $wmp.controls.play()
    ConsoleWrite("Playing" & @CRLF)
    Sleep(5000)
    $wmp.controls.stop()
    ConsoleWrite("Stopped" & @CRLF)
EndFunc
Func suivant()
	$wmp.Controls.Next
	$Cible = $wmp.Controls.currentItem.Name
	If $Cible = "30-11-2021" Then $wmp.Controls.playItem($wmp.currentPlaylist.Item(0));si $cible est le nom de la playliste "30-11-2021", on revient à l'item 0
	$Cible = $wmp.Controls.currentItem.Name
	For $i = 0 To $nbItem - 1
		If $Cible = $wmp.currentPlaylist.item($i).Name Then ExitLoop
	Next
	ConsoleWrite($wmp.currentPlaylist.item($i).Name &" >> "& $i + 1 &"/"& $nbItem & @CR)
EndFunc
Func precedent()
	$wmp.Controls.Previous
	$Cible = $wmp.Controls.currentItem.Name
	For $i = 0 To $nbItem - 1
		If $Cible = $wmp.currentPlaylist.item($i).Name Then ExitLoop
	Next
	ConsoleWrite($wmp.currentMedia.getItemInfo("title") &" >> "& $i + 1 &"/"& $nbItem & @CR)
EndFunc
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 411
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [..] Windows media player : lire une musique et passer à une autre

#3

Message par jl56 »

Bonjour,

Sur un de script pour sortir d'une boucle d'action j'avais ajouté une case à cocher sur ma GUI.
Vous pouvez créer cette case exemple "Suivant" et dans votre fonction _LireMedia vous la testez dans la boucle while wend
$case_suivant = GUICtrlCreateCheckbox("Suivant", 10, 10, 10, 10)
j'utilise cette fonction pour tester une checkbox
Func _IsChecked($control)
   Return BitAND(GUICtrlRead($control), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   ;==>_IsChecked
dans votre boucle while wend vous ajoutez
If _IsChecked($case_suivant)  then
Vous décochez la case aussitôt pour ne pas sortir automatiquement à la prochaine musique
GUICtrlSetState($Case_suivant, $GUI_UNCHECKED)
puis vous sortez de la boucle
ce n'est pas très esthétique mais ça reste très simple

C'est une idée

A+

JL56
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 342
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Windows media player : lire une musique et passer à une autre

#4

Message par franco »

Bonjour.


Souci résolu.


Déjà, un grand merci aux intervenants.



J'ai utilisé le script de Walkson pour arriver à mes fins.
J'avais un doute sur l'adaptation, puisque j'utilise souvent la même procédure pour créer une interface.

Et ce doute était réel : les boutons inopoérants.

Dans le passé, j'étais aussi confronté à ce souci.
Et en appliquant une autre méthode pour créer une interface, le souci fut réglé.

Et c'est le cas ici aussi.
Du coup, pour l'interface, j'ai utilisé ceci comme aide : https://beamtic.com/creating-guis-autoit


Et voici le script final :
► Afficher le texte


Il fonctionne impec.


Big love sur vous :mrgreen:
++
L'entraide, c'est mon dada ;)
Répondre