2009-10-18 5 views
0

Basic Info:SDL_mixer problèmes de son

langage de programmation - C++

Plate-forme - Windows

Formats Audio - wav et mi

J'ai récemment terminé un jeu et couchait avec déterminer le meilleur moyen de le télécharger sur un site d'hébergement de fichiers. J'ai finalement décidé d'utiliser la fonction auto-extractible de 7zip. Cependant, je pense que l'erreur que j'ai faite était que plutôt que de simplement copier ce dont j'avais besoin dans un autre dossier et de compresser la distribution (ie, ne pas copier les fichiers source, etc.) j'ai réarrangé le dossier etc et le diviser en 2 sous-dossiers pour les fichiers C++, puis tout le reste (ce dossier étant celui qui a été zippé.)

J'ai testé le téléchargement et la lecture et il a bien fonctionné. Cependant, je suis retourné parce que j'ai décidé de changer la musique de fond et c'est là que le problème a commencé à se produire.

Pour résumer le problème, Mix_PlayMusic() est appelée et fonctionne correctement. Cependant, pour une raison quelconque, aucun son n'est joué (et aucun des effets sonores ne sont appelés depuis Mix_PlayChannel()). La chose étrange est que vous pouvez entendre la musique quand Mix_FadeOutMusic() est appelée. J'ai aussi une fonctionnalité de basculement sonore, mais après des tests approfondis, je suis arrivé à la conclusion que ce n'est pas le problème.

J'ai finalement décidé de créer un tout nouveau projet et de simplement apporter tous les fichiers dont j'avais besoin dans ce projet dans la même «organisation» qu'ils étaient à l'origine. Cependant, le problème est toujours là.

Je n'ai aucune idée de ce qui ne va pas. Les fichiers sont en cours de chargement, c'est juste que lorsque la musique est supposée être en cours de lecture (et selon les tests), elle ne joue pas. Cela s'applique également aux effets sonores. Edit: J'ai effectivement écrit un test pour chaque boucle de jeu pour savoir si la musique joue et apparemment la musique joue. C'est juste que pour une raison quelconque, on ne l'entend pas.

Répondre

1

Cela pourrait être un certain nombre de choses. Cela peut poser un problème avec la bibliothèque SDL_Mixer que vous avez, vous pouvez donc essayer de l'obtenir à nouveau pour l'exclure. Votre volume a peut-être été mis à zéro quelque part, donc je vérifierais le volume comme un test. Et la dernière pensée serait que le fichier son source que vous jouez est incompatible d'une certaine façon (pas probable si vous pouvez le jouer dans un autre lecteur audio, mais possible). Outre ces suggestions, je ne crois pas que je puisse vous aider davantage avec les données que vous avez fournies.

+0

La correction que j'ai faite était de faire disparaître la musique plutôt que d'utiliser PlayMusic et ça a marché. J'espère que pour mon prochain projet, je n'aurai pas le même problème. – trikker