Accueil > Forum > > > > Problèmes fichiers audio
Problèmes fichiers audio
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ée 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
Gestion des fichiers [ par duarep ]
Bonjour Je rencontre quelques problèmes pour obtenir la liste des fichiers du disque C dans le programme VB express 2008 suivant: ********************
Comment voir les fichiers cachés avec : Net.WebRequestMethods.Ftp.ListDirectoryDetails ou autres ? [ par EhJoe ]
Bonjour, Je cherche à voir les fichiers cachés sur "mon" disque multimédia distant (d'une Box), via Internet par FTP, sans trop trouver comment fair
record sound (micro+casque) conversation [ par hooyooo ]
salut, j'ai essaie de faire une petite application qui record le son entre deux personne par exemple une conversation entre deux utilisateurs qui util
MCISendString et Windows 7 - Fichiers MP4 [ par ooly2001 ]
Salut la communauté ! J'ai développé une appli qui fonctionne très bien sur Windows XP (sp2 et sp3). Cette appli. me permet de lire des fichiers vidé
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
mciSendString() Jouer plusieurs fois le même morceaux [ par Allan007 ]
Bonjour a tous ! j'voudrais votre savoir sur la fonction mciSendString(). Je souhaiterai jouer plusieurs fois le même morceaux, mais impossible, il n
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
mciSendString [ par paillekane ]
Bonjour à tous. Je cherche à developper une application permettant d'enregistrer le son de mon PC (OS : Windows 7) J'ai quelques soucis avec la bibl
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
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|