Signaler

Comment jouer sur son sur vbs [Résolu]

Posez votre question brice-eve 84Messages postés jeudi 30 janvier 2014Date d'inscription 20 mai 2017 Dernière intervention - Dernière réponse le 16 avril 2017 à 07:56 par cs_Le Pivert
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
Afficher la suite 
Utile
+0
plus moins
Ca fonctionnait sous Vista mais plus maintenant

Personnellement, j'utiliserais un lecteur de musique externe (en ligne de comande) comme ffplay ou mplayer
Donnez votre avis
Utile
+0
plus moins
Bonjour,

Voir ce programme:

http://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
brice-eve 84Messages postés jeudi 30 janvier 2014Date d'inscription 20 mai 2017 Dernière intervention - 15 avril 2017 à 14:23
merci je test maintentant
Répondre
brice-eve 84Messages postés jeudi 30 janvier 2014Date d'inscription 20 mai 2017 Dernière intervention - 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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

cs_PaTaTe 1379Messages postés mercredi 21 août 2002Date d'inscription ContributeurStatut 25 juin 2017 Dernière intervention - 15 avril 2017 à 19:50
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.
Répondre
cs_Le Pivert 4508Messages postés jeudi 13 septembre 2007Date d'inscription ContributeurStatut 6 août 2017 Dernière intervention - 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
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !