Librairie son [fmod]

Soyez le premier à donner votre avis sur cette source.

Vue 11 158 fois - Téléchargée 743 fois

Description

Un wrapper pour la librairie FMod que j ai testé pas mal de fois et qui marche maintenant plutot bien, en réponse au besoin d orius pour son puissance 4 ... J espere que tu vas avoir du son maintenant =)
On peut charger differents formats musicaux (wav, mp3 ...), les jouer, changer le volume et differents autres parametres ...
Je pense que le code est assez commenté, ca doit pouvoir servir a comprendre comment fonctionne la librairie FMod mais egalement etre utilisable tel quel.
Si vous vous servez de cette librairie, pas besoin de me le faire remarquer ... si je l ai mise ici, c est pour qu on puisse l utiliser librement (mais dans le cadre de la charte d utilisation d' FMod bien sur).
Au fait, les differents headers sont disponibles sur www.fmod.org, j ai préféré ne pas les fournir pas souci de compatibilité, a la vue de la diversité des compilateurs utilisés sur ce site.
Bref .... Enjoy :)

Source / Exemple :


#include <stdio.h>
#include "K2D_Sound.h"

#pragma comment  (lib, "fmodvc.lib")	// ajoute la librairie sous vc++, a supprimer sinon

int main ()
{
	// 1 fois au debut du prog
	if (K2D_SoundSystem::Init () == 0)
	{
		printf ("Impossible d initialiser la librairie\n");
		return 0;
	}

	K2D_Sound g_Sound;		// creation d un son	

	// on indique le fichier a jouer
	if (g_Sound.Load ("dominating.wav") == 0)
	{
		printf ("Impossible de charger le fichier\n");
		return 0;
	}
	// Lecture
	g_Sound.Play ();					// on le joue

	// maniere tres personnelle d empecher le programme de se fermer ....
	int a; 
	scanf ("%d", &a);

	// Desinitialisation :: on ferme tout ce qui a été ouvert
	g_Sound.Close ();			
	K2D_SoundSystem::Close ();

	return 0;
}

/*
	Bref:
	- On ajoute la librairie fmod (fmodvc.lib pour vc++)
	- on appele la methode K2D_SoundSystem::Init (); 
	avant de faire quoi que ce soit avec les fichiers sons
	- on cree autant de K2D_Sound qu on veut,
	on charge les fichiers avec la methode Load ("nom du fichier")
	on joue les sons avec la methode Play ();
	- on ferme tous les fichiers sons a la fin du programme avec la methode Close ()
	- on ferme le K2D_SoundSystem grace à K2D_SoundSystem::Close ();

	Il y  a d autres methodes a découvrir, mais les bases sont la.

  • /

Conclusion :


Bref voila, si vous avez des commentaires a faire, n hesitez pas... des methodes ne marchent peut etre pas, mais je me sers désormais principalement de ce qui a été donné ci dessus donc je n ai peut etre pas remarqué ces petits problemes ...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_orius
Messages postés
16
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 juillet 2004
-
SUPERRRRRRRRRRRRRRRR :) je fonce dessus je vais passer mon aprem sur la source merci merci cyberboy.
cs_orius
Messages postés
16
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 juillet 2004
-
euh :):):):) c'est trop simple comparé aux fonctions playsound de SDL qui deja son simple elles aussi (pour certains d'entre nous :p). Bref que du bonheur j'etais vous sur cette source pour mettre du son dans vos applis c'est clair précis et simple :)

Merci encore 10/10
Cyberboy2054
Messages postés
173
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
22 août 2008
-
Merci
Enfin bon j ai jeté un coup d' oeil au code, et il y a 2-3 trucs qui sont pas super. Par ex, on ne peut pas charger des fichiers .xm ou .mod. Meme si c est pas répandu, c est dommage, et en plus, ca prend moins de ressources si c est pour faire un petit effet dans un jeu.
Apres j ai fait quelques modifs : Les foncitons relatives a la balance et au pan ... c est les memes, alors j ai viré celle sur le pan, la balance me semble + évocateur.
J ai aussi mis toutes les methodes de K2D_SoundSystem en static, ce qui fait qu on a pas besoin de creer un objet K2D_SoundSystem pour pouvoir s en servir (c etait inutile, il ne contient aucune données, que des methodes).
J ai viré la variable m_EchoId qui ne servait a rien, et pareil pour les parametres des boucles (SND_LOOP_OFF je crois).
Bref maintenant un code encore + clair, + commenté, et encore plus simple d utilisation, mais qui gere pas les xm. J ajouterais pas cette fonctionnalités car elle en me servira pas (elle ne m a pas servi jusqu a present), mais tu peux le faire c est vraiment pas compliqué.
Suffit juste d ouvrir la doc de fmod ....
cs_levetot
Messages postés
18
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
15 janvier 2005
-
Oui, fmod est vraiment très pratique et relativement simple, cette librairie a en plus l'avantage d'être gratuite pour les applications non commerciales :-D
cs_habibdu70
Messages postés
25
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2008
-
On peux analyser le fichiers son ?
Par exemple, sans ecouter, connaitre si il y a du blanc (pas de bruit) a certain moment ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.