IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

jouer un son WAV avec sndPlaySound ?


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut jouer un son WAV avec sndPlaySound ?
    bonjour a tous,


    après plusieurs recherche sur le net, j'ai vu qu'il était possible de joué un son wav, en C

    est ce possible pour mon application, s'exécutant en winconsole ?

    il faut ajouter les librairies :
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <mmsystem.h>

    j'ai lu que cette fonction existait, mais je ne sais pas l'utilisé, et comment lui indiqué le chemin du fichiers ? cometn faire pour qu'il cherche juste dans la racine ?

    sndPlaySound

    Merci d'avance a tous.
    gdlbb

  2. #2
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Sinon ya plus simple et basique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("path/player.exe path/fichier_wav.wav")
    Ou "player.exe" est le lecteur de fichier wav.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    player.exe est mon progrmae de lecture de fichier wav ?

    path c'est le chemin complet ?

    je voudrait que cette action soit transparente, que l'utilisateur ne voit pas se lancé windowsmediaplayer ou autres prog

    juste la console ouverte. (merci)

  4. #4
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Dans ce cas il faut passer par l'API Windows ou une bibliothèque tierce.

  5. #5
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://c.developpez.com/faq/vc/?page=Divers#PlaySound" target="_blank">sndPlaySound</a>( "C:\\fichier.wav", SND_ASYNC );
    Il y'a un forum windows à coté..

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    j'ai juste regardé dans la faq C, car je ne pensais pas faire du C++

    j'ai essayé votre méthode, mais j'ai plusieurs erreurs a l'execution.
    j'utilise Visual C++ 6.0

    #include <windows.h>
    #include <mmsystem.h>
    int main()
    {
    printf("essai de son");
    sndPlaySound( "C:\\essai.wav", SND_ASYNC );
    return 0;

    }

    j'ai mis mon fichiers dans la racine de mon disque bien sur.

    error LNK2001: unresolved external symbol __imp__sndPlaySoundA@8
    Debug/essai.exe : fatal error LNK1120: 1 unresolved externals


    y-a-t-il un rapport avec ça ?
    BOOL sndPlaySound(LPCTSTR lpszSoundName, UINT fuSound );

    P.S :
    je ne comprends pas ta reflexion : "Il y'a un forum windows à coté.."

  7. #7
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Citation Envoyé par gdlbb
    error LNK2001: unresolved external symbol __imp__sndPlaySoundA@8
    Debug/essai.exe : fatal error LNK1120: 1 unresolved externals
    Library: Use Winmm.lib.
    Donc il faut linker à Winmm.lin

    Citation Envoyé par gdlbb
    P.S :
    je ne comprends pas ta reflexion : "Il y'a un forum windows à coté.."
    Tu fais de la programmation Windows, il y'a un forum pour ça.

  8. #8
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    ok, merci de tes réponses, mais je ne voit toujours pas quel librairie inclure (je suis un peu débutant quand même)
    un modérateur peut déplacer mon post

    je ne comprends pas "il faut linker winmm.lin'

    il n'y as pas un code simple, ou une syntaxe, pour lire juste un fichier wav, quand je le demande ?, en application winconsole ?

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <windows.h>
    #include <mmsystem.h>

    int main()
    {
    BOOL sndPlaySound(LPCTSTR lpszSoundName,UINT fuSound ); // que veut dire cette ligne ??
    sndPlaySound( "C:\\essai.wav", SND_ASYNC );
    return 0;

    }

    avec cela il me dit :
    C:\Documents and Settings\***\***\***\***\Info\***\essai\essai.cpp(21) : error C2373: 'sndPlaySoundA' : redefinition; different type modifiers
    c:\program files\microsoft visual studio\vc98\include\mmsystem.h(453) : see declaration of 'sndPlaySoundA'

  9. #9
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    je ne comprends pas "il faut linker winmm.lin'
    Dans les options du projet il faut préciser les bibiothèques à lier avec le prog principal.

  10. #10
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    d'accord, merci bcp.

    mais je n'arrive toujours pas a résoudre mon problème de son sur C

  11. #11
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Tu es sous Visual Studio donc tu rajoutes cette ligne dans ton fichier

    #pragma comment( lib, "winmm.lib" )
    Citation Envoyé par gdlbb
    BOOL sndPlaySound(LPCTSTR lpszSoundName,UINT fuSound ); // que veut dire cette ligne ??
    C'est le prototype de sndPlaySound, rien à faire là.

  12. #12
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    arf toujours la même erreur, même avec les modif !

  13. #13
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    BOOL sndPlaySound(LPCTSTR lpszSoundName,UINT fuSound );
    Tu as enlevé cette ligne ?

  14. #14
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    ok si je mets juste ça, le programme ne fait absolument rien.
    juste "prese any key.

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <time.h>

    #pragma comment( lib, "winmm.lib" )

    #include <windows.h>
    #include <mmsystem.h>

    int main()
    {

    sndPlaySound("C:\\essai.wav", SND_ASYNC );
    return 0;

    }

  15. #15
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Si tu quittes directement, ça devient SND_SYNC et non SND_ASYNC.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         sndPlaySound("C:\\essai.wav", SND_SYNC );

  16. #16
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    MERCI.


    plutot que de mettre un chemin absolue, puis-je mettre un chemin relatif ?

  17. #17
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    Tu es sous Visual Studio donc tu rajoutes cette ligne dans ton fichier
    et si on est sous dev c++?

  18. #18
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Citation Envoyé par miron
    et si on est sous dev c++?
    La commande "pragma" n'est pas supportée par "gcc".
    Il faut indiquer au linker la librairie dans les options du projet.

  19. #19
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par seriousme
    La commande &quot;pragma&quot; n'est pas supportée par &quot;gcc&quot;.
    Il faut indiquer au linker la librairie dans les options du projet.
    Merci

  20. #20
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par miron
    Merci
    En fait je ne trouve pas ou il faut mettre Winmm.lib.

Discussions similaires

  1. [Débutant] Jouer un son wav avec fichier intégré dans les ressources
    Par Claude_Azoulai dans le forum C#
    Réponses: 5
    Dernier message: 29/05/2013, 14h01
  2. Jouer un son wav avec matlab
    Par mattparla dans le forum MATLAB
    Réponses: 7
    Dernier message: 02/03/2010, 16h01
  3. jouer un son (*.wav ou *.mid) avec python
    Par - Glop - dans le forum Programmation multimédia/Jeux
    Réponses: 18
    Dernier message: 22/02/2010, 19h38
  4. Jouer un son wav avec sndPlaysound
    Par therrm dans le forum Pascal
    Réponses: 1
    Dernier message: 03/02/2008, 04h37
  5. Avec VBE, faire jouer un son .Wav
    Par francois1955 dans le forum Général VBA
    Réponses: 6
    Dernier message: 09/12/2005, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo