J'essaie de jouer un fichier de musique dans mon codage, mais j'ai échoué. J'ai mon fichier de musique dans le même dossier qui enregistre le fichier .cpp.
peut-être que quelqu'un peut m'aider? P>
Mon code est le suivant: P>
#include <iostream> #include <windows.h> int main() { PlaySound("kenny g.WAV", NULL, SND_ASYNC); }
8 Réponses :
Pouvez-vous utiliser un chemin absolu et vérifier s'il s'agit d'une erreur de chemin?
Ex: PlaySound("C:\\kenny g.WAV", NULL, SND_ASYNC);
Avez-vous eu un lien vers la lib requice?
Vous devez utiliser le chemin absolu, assurez-vous que vous envoyez un nom de fichier (utilisez SND_FILEName Drapeau) et faites une pause le programme suffisamment longtemps pour lire le fichier son (par exemple, utiliser getcharar ()). Vous devez relier la bibliothèque WinMM.LIB dans les paramètres de votre projet et #include windows.h et mmsystem.h dans l'en-tête.
#include <windows.h> #include <mmsystem.h> int main() { PlaySoundA((LPCSTR) "C:\\kenny g.WAV", NULL, SND_FILENAME | SND_ASYNC); getchar(); }
Comment compileriez-vous cet exemple sous GCC / Windows?
int main() { PlaySound("kenny g.WAV", NULL, SND_ASYNC); } With the SND_ASYNC flag your program can (and it will) terminate immediatelly!Try PlaySound("kenny g.WAV", NULL, SND_SYNC); first to see if it works.
Parler sur le chemin, votre fichier de données devrait être l'endroit où votre exécutable est, non de l'endroit où votre fichier source est, si le chemin n'est pas absolu. P>
et oui, cette question même a été Il y a 9 ans;) p>
Essayez d'ajouter -lwinmm à vos paramètres de compilateur. Cela a fonctionné pour moi. Il suffit de taper que dans la zone Options du compilateur et cela fonctionnera. P>
Merci et nous devons l'ajouter à Linker B> Paramètres non dans les paramètres du compilateur.
Vous pouvez tester par playseound (texte ("SystemStart"), NULL, SND_ALIAS); P>
Juste au cas où il n'est pas résolu encore! Vous devez inclure les deux fichiers d'en-tête mentionnés dans les commentaires précédents, associez le projet à la lib et placez le fichier son dans le même dossier que votre fichier .exe (au cas où vous n'utilisez pas le chemin complet) P>
Essayez ce code cela fonctionne pour moi. Aussi pour Code :: Bloc Utilisez Winmm dans les paramètres de liaison.
#include <iostream> #include <windows.h> #include <MMSystem.h> int main(){ PlaySound(TEXT("your file path.wav") , NULL , SND_SYNC) ; return 0; }
Quel est le code d'erreur que vous obtenez avec geterrrorCode ()?
Je ne suis pas sûr de GeterRrorCode () mais le message d'erreur est [Erreur de lieur] non défini Référence non définie à 'PlaySound @ 12' ID renvoyé 1 Statut de sortie
Vous avez besoin de winmm.lib pour jouer de la musique comme mentionné Luis