Comment jouer sur son sur vbs

Résolu/Fermé
brice-eve Messages postés 61 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 20 mai 2017 - 9 avril 2017 à 13:35
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 16 avril 2017 à 07:56
Bonjour,

depuis peu je me suis mis a développer un programme en .vbs
sur ce programme je souhaite jouer une musique qui se lancera des que le programme ce lance sauf que ...

j'ai chercher partout sur internet g troué quelques codes comme :

strSoundFile = "C:\Users\fichiers_test\"

Set objShell = CreateObject("Wscript.Shell")

strCommand = "sndrec32 /play /close " & chr(34) & strSoundFile & chr(34)

objShell.Run strCommand, 0, True


mais ils ne marchent pas.

plus tard g appris que sndrec32 n'existais plus a partir de windows vista donc g encore chercher un autre code pour jouer du son mais impossible de trouver.

merci d'avance pour votre précieuse aide
A voir également:

3 réponses

cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 493
9 avril 2017 à 14:38
Ca fonctionnait sous Vista mais plus maintenant

Personnellement, j'utiliserais un lecteur de musique externe (en ligne de comande) comme ffplay ou mplayer
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
10 avril 2017 à 08:10
Bonjour,

Voir ce programme:

https://codes-sources.commentcamarche.net/source/101004-ecouter-dj-buzz-radio-avec-djbuzzradio-vbs

en changeant cette ligne et en mettant le chemin du fichier audio

Call Play(DJBuzzRadio)


Call Play (Chemin audio) 


je l'ai fait cela fonctionne très bien pour mp3, wav et wma
0
brice-eve Messages postés 61 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 20 mai 2017 8
15 avril 2017 à 14:23
merci je test maintentant
0
brice-eve Messages postés 61 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 20 mai 2017 8
15 avril 2017 à 14:37
rebonjour allors j'ai testé votre programe mais il ne foncionne pas mais j'ai réusi a trouvé la solution tout seul :

Dim oPlayer
Set oPlayer = CreateObject("WMPlayer.OCX")

oPlayer.URL = "chemain d'acces"
oPlayer.controls.play
While oPlayer.playState <> 1 ' 1 = Stopped
WScript.Sleep 100
Wend
oPlayer.close


voila merci pour votre aide
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
15 avril 2017 à 18:53
Le programme que j'ai indiqué fonctionne très bien.
La preuve, voici le programme modifié par mes soins qui permet de choisir un fichier audio et de l’arrêter à la demande:

mais j'ai réusi a trouvé la solution tout seul :

on s'apercoit que ton code ressemble étrangement au

Sub Play(URL)

Dim Chemin 
Call AskQuestion()
'*****************************************************************************
Sub Play(URL)
    Dim Sound
    Set Sound = CreateObject("WMPlayer.OCX")               
    Sound.URL = URL
    Sound.settings.volume = 100                               
    Sound.Controls.play                                     
    do while Sound.currentmedia.duration = 0                
        wscript.sleep 100                                       
    loop                                                    
    wscript.sleep (int(Sound.currentmedia.duration)+1)*1000 
End Sub
Sub AskQuestion()
    Dim Question,MsgFR
    MsgFR = "Voulez-vous ouvrir un fichier audio?" & vbcr & "Oui = Pour écouter" & vbcr & "Non = Pour arrêter" & vbcr & String(50,"*")
   Question = MsgBox(MsgFR,vbYesNO+vbQuestion+vbSystemModal,Title)
    If Question = VbYes Then
   Call chercher()'chercher le fichier audio
   Call Play (Chemin)'jouer
    End If
    If Question = VbYes Then 
        MsgBox  "Il y a une autre instance en cours d'exécution !"
       WScript.Quit()
    End If
    If Question = VbNo  Then
        Call Kill("wscript.exe")
    End If
    If Question = VbNo  Then
        Call Kill("wscript.exe")
    End If
End Sub
'*****************************************************************************
'Fonction pour ajouter les doubles quotes dans une variable
Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function
'******************************************************************************
Function CommandLineLike(ProcessPath)   
    ProcessPath = Replace(ProcessPath, "\", "\\")   
    CommandLineLike = "'%" & ProcessPath & "%'"   
End Function
'******************************************************************************
Sub Kill(MyProcess)
    Dim Titre,colItems,objItem,Processus,Question
    Titre = " Processus "& DblQuote(MyProcess) &" en cours d'exécution "
    Set colItems = GetObject("winmgmts:").ExecQuery("Select * from Win32_Process " _
    & "Where Name like '%"& MyProcess &"%' AND commandline like " & CommandLineLike(WScript.ScriptFullName) & "",,48)
    For Each objItem in colItems
        objItem.Terminate(0)' Tuer ce processus
    Next
End Sub
'******************************************************************************
Sub chercher()
sIniDir = "C:\Windows\*" 
sFilter = "Fichier MP3 (*.mp3)|*mp3|Fichier Wave(*.wav)|*wav|Fichier WMA(*.wma)|*wma|"
sTitle = "GetFileDlg by omen999 2014 - http://omen999.developpez.com" 
rep = GetFileDlgEx(Replace(sIniDir,"\","\\"),sFilter,sTitle) 
Chemin=rep & vbcrlf & Len(rep)
Chemin= left(Chemin , len(Chemin)-2)
'Chemin=InputBox("Copiez pour mettre le chemin dans le presse-papier", "Chercher chemin fichier", Chemin)
End Sub
Function GetFileDlgEx(sIniDir,sFilter,sTitle) 
  Set oDlg = CreateObject("WScript.Shell").Exec("mshta.exe ""about:<object id=d classid=clsid:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>moveTo(0,-9999);eval(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).Read("&Len(sIniDir)+Len(sFilter)+Len(sTitle)+41&"));function window.onload(){var p=/[^\0]*/;new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(p.exec(d.object.openfiledlg(iniDir,null,filter,title)));close();}</script><hta:application showintaskbar=no />""") 
  oDlg.StdIn.Write "var iniDir='" & sIniDir & "';var filter='" & sFilter & "';var title='" & sTitle & "';" 
  GetFileDlgEx = oDlg.StdOut.ReadAll 
End Function

0
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 493
Modifié le 15 avril 2017 à 20:03
Etrange, la balise code n'est pas effective quand on affiche le poste sur Chrome Android ; Sous Windows, pas de soucis.

EDIT : Pas d'erreur dans le code, c'était un problème de copier/coller, désolé :)

Par contre, pour le répertoire d'initialisation, il faut éviter autant que faire se peut de mettre des chemin en dur. Ici C:\Windows. perso, ce répertoire n'existe pas ^^ Mieux vaut utiliser la boite de dialogue invitant l'utilisateur de choisir son répertoire.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021
16 avril 2017 à 07:56
Bonjour PATATE

Mieux vaut utiliser la boite de dialogue invitant l'utilisateur de choisir son répertoire.

C'est ce que fait le code, il ouvre une openfiledialog. J'ai mis ce chemin pour le début de la recherche. Tu peux l'enlever et tu seras sur le dernier fichier ouvert. Sinon tu le personnalises. Nous sommes sur un forum de développeur, donc capable de l'adapter, ce forum est fait pour cela, n'est-il pas?

cdlt

Bon WE

@+ Le Pivert
0