Musique dans VB 6.0 ?

Résolu
YaMO_o Messages postés 20 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 19 décembre 2007 - 1 sept. 2005 à 16:47
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 11 oct. 2005 à 21:11
Bonjour a tous,

Je suis débutant en programmation VB 6.0 et j'aimerais savoir comment que l'on peut mettre une musique de fond quand le programme démarre. Merci de vos réponses d'avance !

14 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 sept. 2005 à 17:37
jamais essayé, mais tente juste :
PlaySound "C:\WINDOWS\MEDIA\TADA.mdi",
ByVal 0&, SND_FILENAME
Or SND_ASYNC

PCPT
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
1 sept. 2005 à 16:58
voir les nombreuses sources de lecteur mp3...

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
1 sept. 2005 à 17:00
Salut YaMO_o,

Tu peux utiliser le composant Media Player ... dont tu trouveras un exemple d'utilisation proposé par darthpolor_I

Sinon, tu peux voir d'autre exemple en consultant cette liste

++

Zlub

<hr size="2" width="100%">
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 sept. 2005 à 17:31
et toujours les bonne vieilles API :

(guid-API)


Private
Const SND_APPLICATION = &H80
' look for application specific association


Private
Const SND_ALIAS = &H10000
' name is a WIN.INI [sounds] entry


Private
Const SND_ALIAS_ID = &H110000
' name is a WIN.INI [sounds] entry identifier


Private
Const SND_ASYNC = &H1
' play asynchronously


Private
Const SND_FILENAME = &H20000
' name is a file name


Private
Const SND_LOOP = &H8
' loop the sound until next sndPlaySound


Private
Const SND_MEMORY = &H4
' lpszSoundName points to a memory file


Private
Const SND_NODEFAULT = &H2
' silence not default, if sound not found


Private
Const SND_NOSTOP = &H10
' don't stop any currently playing sound


Private
Const SND_NOWAIT = &H2000
' don't wait if the driver is busy


Private
Const SND_PURGE = &H40
' purge non-static events for task


Private
Const SND_RESOURCE = &H40004
' name is a resource name or atom


Private
Const SND_SYNC = &H0
' play synchronously (default)


Private
Declare
Function PlaySound
Lib
"winmm.dll"
Alias
"PlaySoundA" (
ByVal lpszName
As
String,
ByVal hModule
As
Long,
ByVal dwFlags
As
Long)
As
Long


Private
Sub Form_Load()



'KPD-Team 2000



'URL: http://www.allapi.net/



'E-Mail: KPDTeam@Allapi.net


PlaySound
"C:\WINDOWS\MEDIA\TADA.WAV",
ByVal 0&, SND_FILENAME
Or SND_ASYNC


End
Sub

PCPT
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
YaMO_o Messages postés 20 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 19 décembre 2007
1 sept. 2005 à 17:31
Salut, Merci d'avoir répondu rapidement.

En faite, je cherche comment ajouter un .MDI .

Donc dans form_load il doit surement y avoir une commande comme
Play.... debut.mdi ?
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
1 sept. 2005 à 17:35
Salut,

Tu peux essayer ceci proposé par [auteur/KROKADOR/389144.aspx Krokador]








Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" (ByVal lpstrCommand As String) As Long

'À déclarer au début du code



Public Sub JouerMus(ByVal Fichier As String) 'Sub qi permet de faire jouer la musique

mciExecute("play " & Fichier)

End Sub



Private Sub ArreteMus(ByVal Fichier As String) 'Sub qui permet de l'arrêter

mciExecute("stop " & Fichier)

End Sub



Private Sub chkMusic_CheckedChanged(ByVal sender As Object, _ 'Sub du chkbox


ByVal e As System.EventArgs) _


Handles chkMusic.CheckedChanged

If chkMusic.Checked = True Then 'si le checkbox est coché, la musique va démarrer

JouerMus("lagunabattletheme.mid")

Else 'si elle est décochée, la musique arrête

ArreteMus("lagunabattletheme.mid")

End If

End Sub



++

Zlub

<hr size="2" width="100%">
0
YaMO_o Messages postés 20 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 19 décembre 2007
1 sept. 2005 à 17:46
Salut, Merci a tous !

Avec la commande PlaySound "C:\WINDOWS\MEDIA\TADA.mdi",
ByVal 0&, SND_FILENAME
Or SND_ASYNC Fourni par PCPT

J'ai transformer le .mid par un .wav ensuite j'ai suivi le chemin.

Merci encore a tous :)
0
YaMO_o Messages postés 20 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 19 décembre 2007
2 sept. 2005 à 19:35
Bonjour,

J'ai un autre petit problème... Quand je fait " Play " pour le programme celui-ci faire jouer la musique avant de faire apparaitre le Form.

Voici le code que j'ai essayer :

Private Sub Form_Load()
frmStart.Visible = True 'Faire apparaitre avant de faire jouer la toune
imgGameStart.Visible = True 'Faire apparaitre le boutton pour commencer
If frmStart.Visible = True Then
PlaySound "C:\Projet VB DuckHunt\debut.wav", ByVal 0&amp;, SND_FILENAME Or SND_ASYNC  'Faire jouer la toune Merci VBFrance.com
End If
End Sub
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 sept. 2005 à 19:56
Il ne faut pas le mettre dans le Form_Load car sinon, il se déclenchera
au chargement de la feuille, et vu que la fonction lit le son de façon
synchrone, la musique bloquera l'affichage du son.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 sept. 2005 à 20:35
salut'
tu peux, par exemple, ajouter un boolean

Dim DidIPlay as boolean

Form Load -> didiplay = False (c'est le cas par défaut, mais c'est plus propre)

et Form Paint -> if not didiplay then call Playsound (paramètres):didiplay=True

PCPT
0
YaMO_o Messages postés 20 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 19 décembre 2007
2 sept. 2005 à 21:03
Effectivement PCPT, celà marche.

J'ai aussi réussi de cette maniere avec le form_load

Dim PauseMusiqueStart, Start
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long


Private Sub Form_Load()
frmStart.Visible = True 'Faire apparaitre
frmDebut.Visible = False

Start = Timer 'Variable d'égalité
PauseMusiqueStart = 2 'Secondes de pause

Do While Timer < Start + PauseMusiqueStart 'Fait seulement si timer < que les variables
DoEvents 'Fait la séquence ce que j'tai dit en bas
PlaySound "C:\Projet VB DuckHunt\debut.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC 'Faire jouer la toune Merci VBFrance.com
Loop
End Sub

Merci encore a tous.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 sept. 2005 à 22:39
oui, en effet, ta solution à l'avantage de ne pas être rappelée au cours de l'éxecution.
cependant, le proc va tout de même pas mal tourner lors du démarrage.
2e point : pense à Typer tes variables ;)
PCPT
0
YaMO_o Messages postés 20 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 19 décembre 2007
11 oct. 2005 à 20:37
Salut,

Désoler de faire revivre ce Topic, mais maintenant quand je fais " Play " il m'affiche que SND_FILENAME est une variable non défini.

Et pourtant j'ai rien changer a mon code...

Option Explicit
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long


Private Sub Form_Load()
frmStart.Visible = True 'Faire apparaitre
frmDebut.Visible = False

PlaySound "C:\Projet VB DuckHunt\debut.wav", ByVal 0&,SND_FILENAME</gras>Or SND_ASYNC


End Sub

Encore une fois désoler de faire revivre ce topic, et merci encore pour l'aide !
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 oct. 2005 à 21:11
Il faut que tu déclare les constantes pour pouvoir les utiliser :



Option Explicit

Private
Const SND_FILENAME = &H20000
' name is a file name



Private
Const SND_ASYNC = &H1
' play asynchronously




Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long


Private Sub Form_Load()
frmStart.Visible = True 'Faire apparaitre
frmDebut.Visible = False

PlaySound "C:\Projet VB DuckHunt\debut.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC


End Sub





_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
Rejoignez-nous