IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Mode Aléatoire de Musique Flux de radio et playlist


Sujet :

VBScript

  1. #21
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    cela me rassure je suis pas fou :=)

  2. #22
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Bizarre, qu'il ne vous soit pas possible d'utiliser les .mp3 de ce dossier qui est ouvert au public.

    Angelus1753, dans ton post 10 tu mets des Urls sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    URL1 = "http://127.0.0.1:8888/?play=medias/Mode_Controle/Mode_Controle_Merci_1.wav"'"http://URL/.mp3"
    URL2 = "http://127.0.0.1:8888/?play=medias/Mode_Controle/Mode_Controle_Merci_2.wav"'"http://URL/.mp3"
    URL3 = "http://127.0.0.1:8888/?play=medias/Mode_Controle/Mode_Controle_Merci_3.wav"'"http://URL/.mp3"
    URL4 = "http://127.0.0.1:8888/?play=medias/Mode_Controle/Mode_Controle_Merci_4.wav"'"http://URL/.mp3"
    URL5 = "http://127.0.0.1:8888/?play=medias/Mode_Controle/Mode_Controle_Merci_5.wav"'"http://URL/.mp3"
    URL6 = "http://127.0.0.1:8888/?play=medias/Mode_Controle/Mode_Controle_Merci_6.wav"'"http://URL/.mp3"
    As tu jusqu'à maintenant réussis à faire jouer au moins un fichier son avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Option Explicit 
    Dim T, objPlayer 
    Set objPlayer = CreateObject("Wmplayer.OCX") ' ou bien "Wmplayer.OCX.7"
    With objPlayer  
        .Settings.autoStart = True
        .Settings.volume = 100  ' de 0 à 100
        .Settings.balance = 0   ' de -100 à 100
        .Settings.EnableErrorDialogs = False
        .EnableContextMenu = False
        .URL = "http://127.0.0.1:8888/?play=medias/Mode_Controle/Mode_Controle_Merci_1.wav"'"http://URL/.mp3"
        WScript.Sleep(3000)  ' temps pour charger et commencer la lecture du fichier
        T = .currentMedia.Duration ' T = durée en secondes
    End With
    WScript.Sleep(T*1000) ' Attente égale à la durée de lecture (en ms)
    WScript.Echo T
    A la ligne 6 j'ai demandé de mettre le son à fond .Settings.volume = 100.
    Si tu entends le son de ce fichier, on passera à la suite, car il devient inutile que l'on te propose des codes si cette étape n'est pas concluante.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #23
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    ProgElect avec le code ci dessous que vous venez de mettre en ligne sa fonctionne.

    j'ai du son mon fichier audio et lus en mode invisible parfait

    maintenant reste a savoir si on peut en mettre plusieur pour avoir le même resultat

  4. #24
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Cela sent le bon bout

    Dans le code que j'ai mis ce matin (post N°16)
    Remplace
    ChemDossier = "https://contrib-vb.developpez.com/ProgElecT/RadioAmateurs/EtudeMorse/AudioMorse/" par
    ChemDossier = "http://127.0.0.1:8888/?play=medias/Mode_Controle/".
    Tes noms de fichier tu les mets en remplacement dans cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TblUrlMusic(0) = ChemDossier & "Mode_Controle/Mode_Controle_Merci_1.wav"
    TblUrlMusic(1) = ChemDossier & "Mode_Controle/Mode_Controle_Merci_2.wav"
    TblUrlMusic(2) = ChemDossier & "Mode_Controle/Mode_Controle_Merci_3.wav"
    TblUrlMusic(3) = ChemDossier & "Mode_Controle/Mode_Controle_Merci_4.wav"
    TblUrlMusic(4) = ChemDossier & "Mode_Controle/Mode_Controle_Merci_5.wav"
    TblUrlMusic(5) = ChemDossier & "Mode_Controle/Mode_Controle_Merci_6.wav"
    Ça donne quoi ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #25
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    pas de son juste un message c'est fini et rien d'autres

  6. #26
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Citation Envoyé par Angelus1753 Voir le message
    ProgElect avec le code ci dessous que vous venez de mettre en ligne sa fonctionne.

    j'ai du son mon fichier audio et lus en mode invisible parfait

    maintenant reste a savoir si on peut en mettre plusieur pour avoir le même resultat
    Donc, avec un seul fichier cela fonctionne, mais pas lorsque tu mets dans la boucle For T = 0 To UBound(TblUrlMusic)-1 c'est pas bon.
    Je te met le code complet, avec le chemin et tes noms de fichiers, ne changes rien, pas un seul caractère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Option Explicit
    Dim T, objPlayer, Durer 
    Dim TblUrlMusic() 'tableau Urls de base
    Dim TableauFinal() 'tableau d'index aléatoires
    Dim Alealiste() 'tableau final Urls en aléatoire
     
    Dim ChemDossier
    ChemDossier = "http://127.0.0.1:8888/?play=medias/Mode_Controle/"
    Dim MusicObj
     
    Redim TblUrlMusic(6)
    TblUrlMusic(0) = ChemDossier & "Mode_Controle_Merci_1.wav"
    TblUrlMusic(1) = ChemDossier & "Mode_Controle_Merci_2.wav"
    TblUrlMusic(2) = ChemDossier & "Mode_Controle_Merci_3.wav"
    TblUrlMusic(3) = ChemDossier & "Mode_Controle_Merci_4.wav"
    TblUrlMusic(4) = ChemDossier & "Mode_Controle_Merci_5.wav"
    TblUrlMusic(5) = ChemDossier & "Mode_Controle_Merci_6.wav"
    '---------- mélange des Urls de façon aléatoire -----------------
    TirageAleatoire 0, UBound(TblUrlMusic) - 1
    ReDim Alealiste(UBound(TblUrlMusic) - 1)
    For T = 0 To UBound(TblUrlMusic) - 1
        Alealiste(TableauFinal(T)) = TblUrlMusic(T)
    Next
    '---------- FIN mélange des Urls de façon aléatoire -----------------
     
    ' A ce stade Alealiste() contient les chemins et nom de fichiers mélengé
    Set objPlayer = CreateObject("Wmplayer.OCX.7") ' ou bien "Wmplayer.OCX"
    'configuration du lecteur
    With objPlayer  
    	.Settings.autoStart = True
    	.Settings.volume = 100  ' de 0 à 100
    	.Settings.balance = 0   ' de -100 à 100
    	.Settings.EnableErrorDialogs = False
    	.EnableContextMenu = False
    End With
     
    '---------- boucle pour jouer les morceaux -----------------
    For T = 0 To UBound(TblUrlMusic)-1 
    	objPlayer.URL = TblUrlMusic(T)
    	WScript.Sleep(500)  ' temps pour charger et commencer la lecture du fichier
    	Durer = objPlayer.currentMedia.Duration ' Durer = durée en secondes
    	WScript.Sleep(Durer*1000) ' Attente égale à la durée de lecture (en ms)
    Next
     
    Set objPlayer = Nothing
    WScript.Echo "c'est fini"
     
    '--------------------------------------------------------------------------------------------
    Sub TirageAleatoire(MinI, MaxI)
    Dim Ch, Nb, NbAleatoire
    ReDim TableauFinal(MaxI - MinI)
    Ch = MinI
    For T = MinI + 1 To MaxI: Ch = Ch & "," & T: Next
    Nb = Split(Ch, ",")
    Randomize
    For T = MaxI - MinI To 0 Step -1
      NbAleatoire = Int((T + 1) * Rnd)
      TableauFinal(MaxI - MinI - T) = Nb(NbAleatoire)
      If NbAleatoire < T Then Nb(NbAleatoire) = Nb(T)
    Next
    End Sub '--------------------------------------------------------------------------------------------
    Alors ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #27
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    on y est presque

    sa fonctionne mais il ya plusieurs fichier audio qui ce mettent en route

    en touchant à rien on a du son

  8. #28
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut

    Il faut vérifier si pour tes fichier .wav leurs durées est bien retourné, pour cela ajouter provisoirement un MsgBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For T = 0 To UBound(TblUrlMusic)-1 
    	objPlayer.URL = TblUrlMusic(T)
    	WScript.Sleep(500)  ' temps pour charger et commencer la lecture du fichier
    	Durer = objPlayer.currentMedia.Duration ' Durer = durée en secondes
    	Msgbox "durée du morceau = " & Durer	& " Sc"'<=================== vérification ==================
    	WScript.Sleep(Durer*1000) ' Attente égale à la durée de lecture (en ms)
    Next
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  9. #29
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    il y a les 6 message qui s'affiche à 0 seconde
    et la fin sa indique c'est fini

  10. #30
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    En effet, la durée du morceau n'est pas toujours détecté comme il le faudrait.
    Je vais voir si c'est pareil pour d'autre type de fichier.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #31
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut

    J'ai remanié le code, avec des commentaires de nouvelles fonctions, j'ai fait de nombreux essais,
    conclusion:
    objPlayer.currentMedia.Duration n'est pas fiable, quelque soit la tempo donné au chargement, mais c'est le seul moyen de faire pour avoir cette information (fichier sur le web).
    TempFichier(FichierListAlea(T)) est lui d'une grande fiabilité mais ne peut être utilisé que pour un fichier sur un lecteur local.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    Option Explicit
    Dim T
     
    Dim ChemDossier
    'ChemDossier = "https://contrib-vb.developpez.com/ProgElecT/RadioAmateurs/EtudeMorse/AudioMorse/"
    ChemDossier = "C:\MesProgs\En VBScript et HTA\Sources divers\Son.Wav\"
    'ChemDossier = "C:\MesProgs\En VBScript et HTA\Sources divers\Music MP3 et MP2\"
     
    Dim TblUrlMusic() 'tableau Urls ou fichiers de base
    Redim TblUrlMusic(6)
     
    'TblUrlMusic(0) = ChemDossier & "virgule.mp3"
    'TblUrlMusic(1) = ChemDossier & "QRZ.mp3"
    'TblUrlMusic(2) = ChemDossier & "QRA.mp3"
    'TblUrlMusic(3) = ChemDossier & "QRT.mp3"
    'TblUrlMusic(4) = ChemDossier & "QTH.mp3"
    'TblUrlMusic(5) = ChemDossier & "interrog.mp3"
     
    TblUrlMusic(0) = ChemDossier & "2.WAV"
    TblUrlMusic(1) = ChemDossier & "3.WAV"
    TblUrlMusic(2) = ChemDossier & "5.WAV"
    TblUrlMusic(3) = ChemDossier & "BOURB2M6.WAV"
    TblUrlMusic(4) = ChemDossier & "Olivier.wav"
    TblUrlMusic(5) = ChemDossier & "PICKI2M6.WAV"
     
    'TblUrlMusic(0) = ChemDossier & "BÍÍÍlle - Notre dame de Par.mp3"
    'TblUrlMusic(1) = ChemDossier & "boogie woogie.mp3"
    'TblUrlMusic(2) = ChemDossier & "marie.mp3"
    'TblUrlMusic(3) = ChemDossier & "Renaud Des que le vent soufflera.mp3"
    'TblUrlMusic(4) = ChemDossier & "artist Trance allstars --- The first rebirth.mp3"
    'TblUrlMusic(5) = ChemDossier & "Better off alone - Alice Deejay.mp3"
     
    '---------- Mélange des Urls/Fichiers de façon aléatoire, récuperation dans le tableau FichierListAlea -----------------
    Dim FichierListAlea 'variable tableau final Urls/fichiers mélangés de façon aléatoire
    TirageAleatoire 0, UBound(TblUrlMusic) - 1, TblUrlMusic, FichierListAlea
    '---------- FIN mélange des Urls ou fichiers de façon aléatoire -----------------
     
    ' A ce stade FichierListAlea() contient les chemins et nom de fichiers mélangé
    Dim objPlayer, Durer 
    Set objPlayer = CreateObject("Wmplayer.OCX.7") ' ou bien "Wmplayer.OCX.7"
    With objPlayer  
    	.Settings.autoStart = True
    	.Settings.volume = 100  ' de 0 à 100
    	.Settings.balance = 0   ' de -100 à 100
    	.Settings.EnableErrorDialogs = False
    	.EnableContextMenu = False
    End With
     
    Dim Tempo
    For T = 0 To UBound(FichierListAlea)-1 
    	objPlayer.URL = FichierListAlea(T)
    	If instr(1,FichierListAlea(T),"/") <> 0 Then' chemin dossier nom du fichier sous form Url, attente du chargement plus long qu'un lecteur local
    		Tempo = 3000
    		Else' chemin dossier nom du fichier à partir d'un DD ou USB ou ...
    		Tempo = 100
    	End If
    	WScript.Sleep(Tempo) ' temps pour charger et commencer la lecture du fichier
    	If instr(1,FichierListAlea(T),"/") <> 0 Then
    		'la ligne suivante n'est pas suffisament fiable, mais on ne peut interoger le metatag du fichier
    		Durer = objPlayer.currentMedia.Duration ' Durer = durée en secondes
    		Else
    		'appel de la fonction pour retrouver la durée avec une grande fiabilité
    		Durer = TempFichier(FichierListAlea(T)) 'durée en secondes
    	End If
    	WScript.Sleep(Durer*1000) ' Attente égale à la durée de lecture (en ms)
    Next
     
    Set objPlayer = Nothing
    WScript.Echo "c'est fini"
     
    '--------------------------------------------------------------------------------------------
    Sub TirageAleatoire(MinI, MaxI, TblAmelanger, TblRecuperation)
    Dim Ch, Nb, NbAleatoire, ListAleaFichier()
    Dim TblIndex() 'tableau d'index aléatoires
    ReDim TblIndex(MaxI - MinI)
    Ch = MinI
    For T = MinI + 1 To MaxI: Ch = Ch & "," & T: Next
    Nb = Split(Ch, ",")
    Randomize
    For T = MaxI - MinI To 0 Step -1
      NbAleatoire = Int((T + 1) * Rnd)
      TblIndex(MaxI - MinI - T) = Nb(NbAleatoire)
      If NbAleatoire < T Then Nb(NbAleatoire) = Nb(T)
    Next
    '---------- mélange du tableau passé en parametre de façon aléatoire -----------------
    ReDim ListAleaFichier(UBound(TblAmelanger) - 1)
    For T = 0 To UBound(TblAmelanger) - 1
        ListAleaFichier(TblIndex(T)) = TblAmelanger(T)
    Next
    TblRecuperation = ListAleaFichier ' remplis le tableau de récuperation avec le tableau remplis aléatoirement
    End Sub
    '--------------------------------------------------------------------------------------------
    Function RecupNomDuFichier(chemNom)
    	Dim RetStr
    		If instr(1,chemNom,"\") <> 0 Then
    			RetStr = Split(chemNom,"\")' chemin dossier nom du fichier sous form Url
    			Else
    			RetStr = Split(chemNom,"/")' chemin dossier nom du fichier à partir d'un DD ou USB ou ...
    		End If
    	RecupNomDuFichier=RetStr(ubound(RetStr))
    End Function
     '--------------------------------------------------------------------------------------------
    Function TempFichier(chemNom)
    	'extraction d'information à partir du fichier (Meta Tag)
    	'la durée d'un son est inscrit dans le metatag index N°27
    	Dim objShell, objFolder, strFileName, InfoIndex27
     
    	Set objShell = CreateObject("Shell.Application")
    	Set objFolder = objShell.NameSpace(ChemDossier) 'branchement sur le dossier
    	Set strFileName = objFolder.Items.Item(RecupNomDuFichier(chemNom)) 'branchement sur le fichier
    	TempFichier = 0 'initialisation à 0 Sc si l'information durée du fichier musique/son n'est pas accessible
    	InfoIndex27 = objFolder.GetDetailsOf(strFileName, 27) 'durée du morceau de musique/son
    	If InfoIndex27 <> "" Then 'il existe une information
    		If IsDate(InfoIndex27) Then' elle est bien du type horaire
    			TempFichier = CvSc(InfoIndex27)' conversion en secondes
    		End If
    	End If
    	'nettoyage
    	Set strFileName = Nothing
    	Set objFolder = Nothing
    	Set objShell = Nothing
    End Function
    '--------------------------------------------------------------------------------------------
    Function CvSc(TimeValeur)
    	'conversion d'un horaire format hh:mn:sc en secondes
    	Dim HhMnSc
    	HhMnSc = Split(TimeValeur,":")
    	CvSc = ((HhMnSc(0) * 3600) + (HhMnSc(1) * 60) + HhMnSc(2))
    End Function
     '--------------------------------------------------------------------------------------------
    Moi j'ai fait les essais depuis Urls en type .wav et .mp3, quelque fois depuis une Url, sur certain fichier impossible d'avoir la durée ce qui fait que WScript.Sleep(Durer*1000) ' Attente égale à la durée de lecture (en ms) et égal à zéro, donc passage au morceau suivant, si tous les fichiers ont une durée égale à zéro, le programme n'émet aucun son et fini en Tempo * par nombre de fichiers.
    Pour vos essais/utilisation, paramétrez correctement la variable ChemDossier ainsi que la variable tableau TblUrlMusic (pensez à bien dimensioner cette variable tableau) avec votre propre besoin.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  12. #32
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Pour vérifier si la durée de lecture est bonne (en local) :
    1 - Mettre quelques fichiers de son dans un dossier(appelé Audio par exemple) de différents format mp3, wav ... de durées relativement courte pour pouvoir tester sans perdre beaucoup de temps
    2 - Si VLC Media Player est installé(sinon l'installer) puis le lancer
    3 - Cliquer sur le menu Média sous-meu Ouvrir un dossier et aller jusqu'au dossier Audio pour le sélectionner et l'ouvrir
    4 - La lecture du premier fichier commence, arrêter la lecture.
    5 - Revenir au menu Média et cliquer sur le sous-menu Enregistrer la liste de lecture, choisir le nom et l'emplacement du fichier puis enregistrer avec l'extension xspf (format XML)
    6 - Ouvrir le fichier xspf avec un éditeur de texte et rechercher la balise <duration>.........</duration> qui contient la durée du fichier audio en millisecondes.

    On lance les fichiers un à un avec le code le plus simple possible utilisant "Wmplayer.OCX" en inscrivant la durée et le nom du fichier correspondant dans un fichier texte.
    Une fois terminé, on retourne vers VLC pour comparer les durées qu'il affiche et celles retournées par le code.

    RQ : La durée donnée par le code sera légèrement supérieure à celle donnée par VLC
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  13. #33
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    Bonjour à vous messieurs,

    veuiller m'excuser pour mon retard de réponse

    la bonne nouvelle ces que les 6 audio ne ce lance plus en même temps et donc moins de désordre

    les fichier ce lance les un aprés les autres

    ce que je voudrai dans la mesure du possible n'est pas de les faire suivre les audio

    Mais c'est plus simple 1 clique = Mode_controle_1.wav la lecture
    pas besoin de message de fin ou de durée

    1 clique = Mode_controle_5.wav

    1 clique = Mode_controle_3.wav

    etc etc, un grand merci à vous car je sais que c'est casse tête

  14. #34
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut
    Quelque chose comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Dim Rep
    Dim ChemDossier, TblUrlMusic(6)
    ChemDossier = "C:\MesProgs\En VBScript et HTA\Sources divers\Son.Wav\"
     
    TblUrlMusic(0) = ChemDossier & "2.WAV"
    TblUrlMusic(1) = ChemDossier & "3.WAV"
    TblUrlMusic(2) = ChemDossier & "5.WAV"
    TblUrlMusic(3) = ChemDossier & "BOURB2M6.WAV"
    TblUrlMusic(4) = ChemDossier & "Olivier.wav"
    TblUrlMusic(5) = ChemDossier & "PICKI2M6.WAV"
     
    Dim WshShell
    Set WshShell = WScript.CreateObject("WScript.Shell")
     
    For T = 0 To UBound(TblUrlMusic)-1
            WshShell.Run "wmplayer /play /close """ & TblUrlMusic(T), 0, False
            If T < UBound(TblUrlMusic)-1 Then
                    Rep = MsgBox ("Passer au morceau suivant, si non, quitter", vbYesNo)
                    If Rep = vbNo Then Exit For
            End If
    Next
    Set WshShell = Nothing
    MsgBox "Fini"
    A savoir que
    - si on répond non on quitte le programme mais le morceau en cours continu jusqu'à la fin.
    - si on répond oui on entend le(s) morceau(x) et le morceau suivant.
    Donc il faudrait quand même avoir une notion d'attente fin de morceau en cours et de ne proposer le panneau qu'à ce moment là.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  15. #35
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    Bonjour progElect

    en gros oui

    la il y a pas de son

    1 clique un audio en invisible
    un autre clique un autre audio etc etc sans les messages sinon oui

    parfait comme d'habitude

  16. #36
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Citation Envoyé par Angelus1753 Voir le message
    ...
    1 clique un audio en invisible
    un autre clique un autre audio etc etc sans les messages sinon oui
    Un clique ou?, dans quelle fenêtre ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  17. #37
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    sur le script

  18. #38
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Citation Envoyé par Angelus1753 Voir le message
    sur le script

    C'est quoi pour toi un script? pour moi c'est un écrit qui contient des commandes (puisque l'on parle informatique) écrit dans un langage quelquonque en généralement sauvegardé dans un fichier.
    Ne penserais tu pas plutôt à une fenêtre/page HTA ou autre.
    Ou alors, l'utilisateur clique sur le fichier, mais il y a incrémentation du tableau contenant les titres a jouer, se qui fait qu'à la suite de cliques successifs, un morceau différent est jouer?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  19. #39
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    non pour moi je veux pas vous compliqué la vie du tout :=)

    le clique sur le fichier vbs

    un clique sur le fichier vbs un audio s'active

    ce qui permet d'avoir des réponse aléatoire en wav ou en mp3

  20. #40
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Dim TblUrlMusic(6)
    Dim ChemDossier
    ChemDossier = "http://127.0.0.1:8888/?play=medias/Mode_Controle/"
     
    Dim TblUrlMusic() 'tableau Urls ou fichiers de base
    Redim TblUrlMusic(6)
     
    TblUrlMusic(0) = ChemDossier & "Mode_Controle_Merci_1.wav"
    TblUrlMusic(1) = ChemDossier & "Mode_Controle_Merci_2.wav"
    TblUrlMusic(2) = ChemDossier & "Mode_Controle_Merci_3.wav"
    TblUrlMusic(3) = ChemDossier & "Mode_Controle_Merci_4.wav"
    TblUrlMusic(4) = ChemDossier & "Mode_Controle_Merci_5.wav"
    TblUrlMusic(5) = ChemDossier & "Mode_Controle_Merci_6.wav"
     
    Dim count, Alea, Durer
    Randomize()
    count = int(Ubound(TblUrlMusic)+1)
    Alea = Int(Rnd*count)
    Dim FichierListAlea
    FichierListAlea = TblUrlMusic(Alea)
     
    Dim objPlayer
    Set objPlayer = CreateObject("Wmplayer.OCX.7") ' ou bien "Wmplayer.OCX"
    With objPlayer  
    	.URL = FichierListAlea
    	WScript.Sleep(1000)
    	.Settings.autoStart = True
    	.Settings.volume = 100  ' de 0 à 100
    	.Settings.balance = 0   ' de -100 à 100
    	.Settings.EnableErrorDialogs = False
    	.EnableContextMenu = False
        Durer = .currentMedia.Duration ' Durer = durée en secondes
    End With
    WScript.Sleep(Durer*1000) ' Attente égale à la durée de lecture (en ms)
    Set objPlayer = Nothing
    Double clique sur le nom du fichier, chez moi cela fonctionne car il y a la détection de durée du fichier jouer qui retourne toujours autre chose que zéro.
    Chaque double clique joue un fichier différent.

    Par contre si on ne parvient pas à récupérer la durée du morceau, on entend quelques notes (2/3sc) et puis arrêt.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. VBS en mode Aléatoire
    Par Angelus1753 dans le forum VBScript
    Réponses: 11
    Dernier message: 11/01/2021, 09h55
  2. [PPT-365] Changement de couleur d'une forme après un clic, et dans un mode aléatoire
    Par Splintkill dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 29/08/2019, 16h31
  3. Lecture d'un Flux audio (radio) continu
    Par danus14 dans le forum Android
    Réponses: 0
    Dernier message: 19/12/2017, 00h38
  4. [PHP 5.6] Option value en mode aléatoire
    Par yule dans le forum Langage
    Réponses: 3
    Dernier message: 27/02/2017, 09h28
  5. Réponses: 0
    Dernier message: 14/08/2012, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo