|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Problèmes fichiers audio [ Multimédia / Audio ] (mstarsup5)
Informations & options pour cette discussion
mardi 6 novembre 2007 à 14:00:52 |
Problèmes fichiers audio

mstarsup5
|
Bonjour, Je veux faire un petit jeu en vb6, avec une musique de fond et des soundfx en même temps. J'utilise l'API mciSendString pour le son, qui permet, contrairement à l'API playsound, de jouer plusieurs fichiers audio en même temps. Seulement, j'ai deux problèmes: Le premier, c'est que je ne trouve pas de commande pour lancer les fichiers en boucle. (Je pourrais faire celà avec un timer par exemple, mais je trouve ça un peu barbare, alors peut être y a-t-il une fonction pour le faire?) Mon deuxième problème est que j'arrive à lire des fichiers .wav, mais je n'arrive pas à lire les fichiers .mp3 et .mid, alors que plusieurs sources sur le site montrent que celà est possible, toujours en utilisant mciSendString. J'utilise exactement le même code que ces sources, et pourtant, aucun son ne sort. Quelqu'un saurait comment faire pour faire marcher ces deux formats avec mciSendString? J'utilise: Dim ret AsLong, mp3file AsString PrivateDeclareFunction mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand AsString, ByVal lpstrReturnString AsString, ByVal uReturnLength AsLong, ByVal hwndCallback AsLong) AsLong PrivateSub Form_Load() mp3file = "c:\xxx.mp3" ret = mciSendString("OPEN " & mp3file & " Alias Sonido", 0, 0, 0) 'ouvre ret = mciSendString("Play sonido", 0, 0, 0) 'Joue EndSub
PrivateSub Form_QueryUnload(Cancel AsInteger, UnloadMode AsInteger) ret = mciSendString("Stop sonido", 0, 0, 0) 'Pause (si on fait lecture ca reprendra la) ret = mciSendString("Close sonido", 0, 0, 0) 'Arret (si on fait lecture ca recommence au debut)EndSub
Merci infiniment.
|
|
|
mardi 6 novembre 2007 à 14:19:00 |
Re : Problèmes fichiers audio

mstarsup5
|
Apparamment, pour les mp3, ça ne veut pas lire dans les sous-dossiers... quelqu'un aurait une idée pour ça? je ne vais pas tout mettre dans C:\ :/
|
|
|
mardi 6 novembre 2007 à 14:25:05 |
Re : Problèmes fichiers audio

mstarsup5
|
Ah, ça j'ai trouvé, il faut mettre:
mp3file = App.path & "\xxx.mp3" ret = mciSendString("OPEN """ & mp3file & """ Alias Sonido", 0, 0, 0) 'ouvre
Comme ça, les mp3 marchent.
Reste le problème des Midi, et comment faire tourner la musique en boucle.
|
|
|
mardi 6 novembre 2007 à 14:40:20 |
Re : Problèmes fichiers audio

mstarsup5
|
Pour le fichier .mid, j'ai mis exactement ça:
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long Public FichierMid As Variant Public Alias As String '----- identifiant du son en cours
Sub Play_Mid() ' indiquer ci-dessous le nom du fichier Midi à jouer ' ce fichier doit se trouver dans le meme repertoire que ce classeur FichierMid = "Shadoogie.mid" Alias = Left$(FichierMid, Len(FichierMid) - 4) '--------play midi r% = mciSendString("OPEN " + FichierMid + " TYPE SEQUENCER ALIAS " + Alias, 0&, 0, 0) r% = mciSendString("PLAY " + Alias + " FROM 0", 0&, 0, 0) r% = mciSendString("CLOSE ANIMATION", 0&, 0, 0) End Sub
Sub Stop_Mid() On Error GoTo Finstop r% = mciSendString("OPEN " + FichierMid + " TYPE SEQUENCER ALIAS " + Alias, 0&, 0, 0) r% = mciSendString&("STOP " + Alias, 0&, 0, 0) r% = mciSendString&("CLOSE ANIMATION", 0&, 0, 0) Finstop: End Sub
Private Sub Command1_Click() Play_Mid End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Stop_Mid End Sub
et le fichier shadoogie.mid est dans le même dossier que mon programme... Pourtant, ça ne marche pas.
|
|
|
mardi 6 novembre 2007 à 14:41:58 |
Re : Problèmes fichiers audio

medelidrissi
|
Bonjour, Pour le relecteur automatique : ret = mciSendString("Play sonido repeat" , 0, 0, 0) 'Joue et pour toute autre information : http://msdn2.microsoft.com/en-us/library/ms712842.aspx Bonne programmation. Cordialement medelidrissi En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
|
|
|
mardi 6 novembre 2007 à 15:10:26 |
Re : Problèmes fichiers audio

mstarsup5
|
Merci pour la commande repeat medelidrissi! Ca marche impec pour les mp3, mais j'ai toujours deux problèmes: je n'arrive pas à faire marcher repeat avec les .wav, et les .mid ne fonctionnent pas du tout! Je continue de chercher.
|
|
|
mardi 6 novembre 2007 à 15:34:56 |
Re : Problèmes fichiers audio

mstarsup5
|
Je m'explique: pour ouvrir le fichier mp3, je mets:
Dim sFichier As String Dim r As Long sFichier = App.Path & "\FFVII.mp3" r = mciSendString("OPEN """ & sFichier & """ ALIAS FFVII" & Chr$(0), 0&, 0, 0) r = mciSendString("PLAY FFVII FROM 0", 0&, 0, 0) r = mciSendString("CLOSE ANIMATION", 0&, 0, 0)
Pour lancer le repeat, j'intercale repeat entre FFVII et FROM, et tout marche bien.
Pour le fichier wav, j'ai:
Dim sFichier As String Dim r As Long sFichier = App.Path & "\Metrocross.wav" r = mciSendString("OPEN """ & sFichier & """ TYPE WAVEAUDIO ALIAS WAV1" & Chr$(0), 0&, 0, 0) r = mciSendString("PLAY WAV1 FROM 0", 0&, 0, 0) r = mciSendString("CLOSE ANIMATION", 0&, 0, 0)
Ca lance bien le programme, tout est ok, mais si j'essaie d'intercaler repeat entre WAV1 et FROM, la musique ne se lance pas.
Pour le mid, j'ai:
Dim sFichier As String Dim r As Long sFichier = App.Path & "\Descent.mid" r = mciSendString("OPEN """ & sFichier & """ TYPE SEQUENCER ALIAS MID1" & Chr$(0), 0&, 0, 0) r = mciSendString("PLAY MID1 FROM 0", 0&, 0, 0) r = mciSendString("CLOSE ANIMATION", 0&, 0, 0)
Et la, ça lance carrément rien, je n'ai aucun son qui sort. J'ai bien vérifié les adresses des fichiers audio, et j'ai ouvert les fichiers en dehors du programme, tout fonctionne. Sais tu d'où vient le problème?
|
|
|
mardi 6 novembre 2007 à 15:52:03 |
Re : Problèmes fichiers audio

medelidrissi
|
Re-Salut, Pour les midis, chez moi ca marche sans prob : ret = mciSendString&("CLOSE SonMidi", 0&, 0, 0) ret = mciSendString("OPEN ""C:\WINDOWS\Media\flourish.mid"" TYPE SEQUENCER Alias SonMidi", 0, 0, 0) 'ouvre ret = mciSendString("Play SonMidi", 0&, 0, 0) 'Joue En ce qui concerne le repeat d'une sequence wav, c'est vrai ca ne marche pas !!!!!!. Bonne programmation. Cordialement medelidrissi En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
|
|
|
mardi 6 novembre 2007 à 16:12:08 |
Re : Problèmes fichiers audio

mstarsup5
|
Re,
Je viens de copier coller ton code dans mon pgme:
Private Sub Command5_Click() Dim ret As Long ret = mciSendString&("CLOSE SonMidi", 0&, 0, 0) ret = mciSendString("OPEN ""C:\WINDOWS\Media\flourish.mid"" TYPE SEQUENCER Alias SonMidi", 0, 0, 0) 'ouvre ret = mciSendString("Play SonMidi", 0&, 0, 0) 'Joue End Sub
J'ai bien vérifié que le midi était là, tout ok, à part que je n'ai toujours aucun son :'( Et pour les fichiers wav, c'est bizarre que le repeat marche pas non plus :'( Il doit y avoir quelque chose à configurer pour que tout ça marche, si quelqu'un sait, je suis preneur :'(
Merci beaucoup, et merci encore une fois medelidrissi
|
|
|
mardi 6 novembre 2007 à 18:25:39 |
Re : Problèmes fichiers audio

mstarsup5
|
Ca yest, j'ai trouvé pour le mid, j'avais un problème de config (niveau son, et niveau vb6) Par contre, je trouve toujours pas comment faire marcher la fonction repeat pour les .wav et les .mid.
|
|
|
Cette discussion est classé dans : fichiers, ret, mcisendstring, byval, sonido
Répondre à ce message
Sujets en rapport avec ce message
mciSendString pour lire des fichiers wave dans un fichier de ressources [ par Daghis ]
Bonjour à tous,Cela fait plusieurs jours que je cherche en vain sur le Net pour résoudre mon problème :J'ai fait un petit programme auquel je veux ajo
Probleme avec winmm.dll [ par Luciol44 ]
Salut,Voila, j'utilise ce petit code pour recuperer la durée d'un son:Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (B
valeur intercepté par GetAsyncKeyState [ par Cjvg ]
Bonjour,Sub TimerProc(ByVal Hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) Ret = GetPressedKey If Ret
Interuption audio [ par ClaudeRidger ]
Bonjour, Voilà, en VB6 je met en route toutes sortes de prog ou fichiers avec ce code que j'ai trouvé ici :http://www.vbfrance.com/infomsg_PPS_5321
Jouer des fichiers MP en boucle avec MciSendString [ par touil ]
Je voudrais savoir comment jouer des fichiers MP3 en boucle ou tout simplement comment détecter la fin d'un fichier mp3 qui vient d'être joué, sachant
Problème VB 2008 [ par caphorn ]
Bonjour,Dans un programme, j'appelle une fonction d'une DLL DBDATA32XLib.dll dont je n'ai pas le code : elle est installée dans le dossier d'un logici
pb lecture fichier MP3 [ par toto ]
bonjour, j'utilise le code suivant(voir après mon baratin) disponible sur vbfrance pour lire un fichier MP3.Le fichier est lu correctement, par contre
Lister Recursivement des repertoires et fichiers [ par benxen ]
Hello,Je souhaierais savoir comment faire en VB pour lister les répertoires, sous-rep, sous-sous-rep, etc... d'un répertoire (ex: c:\winnt\)(de meme p
URGENT:Utilisation copyfile+recherche chemin d'acces fichiers [ par stann ]
Salut!!J'ai creer 1 application nomme par ex ESSAI qui sera distribuéesur d'autres configurations!Cette application comprend des fichiers a,b,c depend
URGENT:recherche chemin d'acces fichier+copyfile [ par stann ]
Salut!!J'ai creer 1 application nomme par ex ESSAI qui sera distribuéesur d'autres configurations!Cette application comprend des fichiers a,b,c depend
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|