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
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
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
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
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|