begin process at 2012 05 27 20:23:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Multimédia

 > LIBRAIRIE SON [FMOD]

LIBRAIRIE SON [FMOD]


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Multimédia Niveau :Débutant Date de création :30/06/2004 Date de mise à jour :30/06/2004 18:54:00 Vu / téléchargé :9 424 / 638

Auteur : Cyberboy2054

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 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

  • #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.
  • */
#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  ...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip CONVERTISSEUR D'IMAGES
EQUIVALENT A DATE () DU PHP
Source avec Zip BASECODE SDL/OPENGL
Source avec Zip CONSOLE A LA QUAKE (DANS LA CONSOLE DOS!)
Source avec Zip Source avec une capture TRIANGLE RECURSIF

 Sources de la même categorie

Source avec Zip ADAPTER LES TEMPS DE SUBTITLES DE SOUS TITRAGE ENTRE DEUX LA... par berrami
Source avec Zip Source avec une capture DÉTECTION DE VISAGE (YEUX, NEZ, BOUCHE) AVEC OPENCV EN TEMPS... par MadM@tt
Source avec Zip Source avec une capture GÉNÉRATEUR FM EXPÉRIMENTAL par tontonCD
Source avec Zip LECTEUR MULTIMÉDIA par omegatou
Source avec Zip IMPLÉMENTATION D'UN ALGORITHME DE COMPRESSION/DECOMPRESSION ... par eemikhm

Commentaires et avis

Commentaire de orius le 30/06/2004 13:42:25

SUPERRRRRRRRRRRRRRRR :) je fonce dessus je vais passer mon aprem sur la source merci merci cyberboy.

Commentaire de orius le 30/06/2004 13:56:02

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

Commentaire de Cyberboy2054 le 30/06/2004 18:51:13

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 ....

Commentaire de levetot le 05/07/2004 11:10:49

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

Commentaire de habibdu70 le 19/04/2005 12:55:53

On peux analyser le fichiers son ?
Par exemple, sans ecouter, connaitre si il y a du blanc (pas de bruit) a certain moment ?

Commentaire de volkukan le 03/12/2005 15:19:27

Salut, jessaie d'utilier la toute derniere version de fmodex ecris en c++ et m'aperçois malheuresement que les classes de cette version ne peut pas se compiler avec devc++sinon les fonctions ce compilent bien mais celle ci sont en c . C d'autan plus chiant que j'utilise les classes de Qt4 pour faire mes prog qui eux se compile qu'avec mingw (donc devc++).
Jsuis un debutant en prog et jme suis dis si il été possible d'utiliser les fonctions de fmodex ecritent en c pour ensuite les implanter dans les classes de Qt4. ainsi j'ajouterais des fonctions a Qt4 permettant de lire des mp3 et non que des wav.
jpense pas etre le seul a penser ça, mais bon jtrouve difficilement de topic sur ce sujet. Si quelqun a une idée ce serais cool de le faire partager a tous.
merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales