PlaySound dans l'application Console C++?
MODIFIÉ de SORTE que LE CODE EST CORRECT (GRÂCE À ta.speot.est) - NOUVELLE QUESTION, AU FOND,
J'ai donc joué avec la console que je suis à ce niveau, l'annonce nous a été demandé de faire notre premier "projet" pour une évaluation. J'ai la demande de base tous fait.. mais je voulais jaz un peu et ajouter quelques sons. Les sons qui jouent de la forme de la console.
Ce test fonctionne.. (un peu) comme il va jouer un fichier son.. mais j'ai 2 problèmes... 1 lors de la lecture du son l'application se bloque jusqu'à ce que le son est 100% fini... aussi lorsque j'essaie de compiler comme une "libération" c'erreurs avec un "liant " erreur" fatal error LNK1120: 1 externes non résolus.
#include <iostream>
#include <windows.h>
#include <mmsystem.h>
using namespace std;
int main(){
//PlaySound(TEXT("mywavsound.wav"), NULL, SND_FILENAME); - My erroring code
PlaySound(TEXT("mywavsound.wav"), NULL, SND_FILENAME | SND_ASYNC);//- the correct code
int test = 0;
cin>>test;
return 0;
}
Donc mes questions sont les...
- Comment puis-je jouer des sons avec du gel de la console, donc j'ai pu pour
exemple jouer en boucle la musique de fichier pendant toute la durée du projet a été
ouvert. Aussi, il serait génial si je pouvais jouer d'autres sons sur le dessus de
c'.. alors quand vous appuyez sur entrée, par exemple, il joue un son avec
arrêt de la musique. - Comment puis-je ajouter le fichier wav de sorte qu'il compile en release?
MODIFIER
Que je sais sur les SND_ASYNC chose, mais je ne sais pas comment l'utiliser, je ne peux pas la couture de l'utiliser avec la chose ne publiait pas de dose.. quelqu'un aurait un exemple de code à l'aide de SND_ASYNC?
EDIT 2
J'ai donc ce travail maintenant.... à l'aide de la
"PlaySound(TEXT("mysound.wav"), NULL, SND_FILENAME | SND_ASYNC);"
Maintenant je me demande comment je peux obtenir 1 ou plusieurs sons à la fois, car si je l'appelle playsound deux fois avec le drapeau, il arrêtera le 1er et le jouer les 2econd.. Est-il un moyen de jouer 2 sons à la fois?
Vous devez vous connecter pour publier un commentaire.
Si vous Google pour
PlaySound
c'est le premier résultat:Vous devriez vous familiariser avec les moteurs de recherche et ce dont ils sont capables.
Vous avez besoin de lien
winmm.lib
dans les deux Release et Debug configurations. Vous pouvez également ajoutervers le haut de votre code source.
La plupart de vos questions ont été répondues.
Cependant, pour jouer plusieurs sons à la fois.
Pour ce faire, vous pouvez le faire en utilisant SDL_Mixer. Jusqu'à présent, j'étais à la recherche de toute bonne façon de jouer de l'audio, et le faire fonctionner, je suis venu à cette.
Le bon point, c'est que SDL_Mixer est multiplateforme (testé sur deux win, linux). Si vous savez ce que vous faites, vous pouvez écrire du code qui compile sur les deux OSses.
Une autre bonne chose est que vous pouvez jouer plusieurs sons à la fois (peut-être même jusqu'à 30, mais l'enregistrement en ligne). La bibliothèque est aviable pour Windows (Dll et les fichiers d'en-tête) et Linux (installation par le biais de la console).
Je ne vais pas aller pour plus de détails sur l'installation.
Il prend en charge les fichiers wav et oog et beaucoup plus de types de fichiers.
Les inconvénients, cependant, sont comme suit:
La réalisation de ce travail, qui m'a pris de l'enfer beaucoup de temps, je pensais que l'audio et de grésillements est de mauvaise qualité, bien que le fichier d'origine joue bien dans media player. Après recherche, j'ai découvert que c'est pour le long temps d'un bug dans la bibliothèque, et toujours pas résolu. Certaines personnes ont dit qu'ils résolu en mettant le volume jusqu'à 100, mais il ne fonctionne pas pour moi.
Deuxième inconvénient, c'est qu'il a besoin d'un peu plus de codage de type juste
Prochaine inconvénient a été pensé par moi-même, et qu'un fichier wav ne se charge pas, en disant que le format n'est pas correct. Bien que j'ai utilisé comme 3 convertisseurs, et de le télécharger de nombreux fichiers à travers internet, il n'a pas de travail. Il a fait un travail, cependant, après le téléchargement d'un projet de test et de leur utilisation .wav fichier dans l'archive.
Cependant, je l'ai résolu en convertissant toute ma musique .oog
Comme ça, je ne sais toujours pas ce qu'est la musique de la bibliothèque serait préférable d'utiliser. Dépend de ce que votre console est censé être...? êtes-vous écrit le jeu ou tout simplement media player? ou tout simplement de le tester...?
utiliser le (mciSendstring) de la fonction à la place .. avec u peut jouer plus de 1 son , et u peut jouer 2 sons sur le dessus les uns des autres 🙂
exemples:
pour plus approfondie info