Bonjours,
Je suis un novice en la matière je cherche à utiliser fmod dans un projet mais je suis bloqué au stade ou j'ai ajouté fmodex.dll dans mes ressources c'est tout...
De plus si quelqu'un a un exemple d'utilisation de cette lib je suis partant![]()
Bonjours,
Je suis un novice en la matière je cherche à utiliser fmod dans un projet mais je suis bloqué au stade ou j'ai ajouté fmodex.dll dans mes ressources c'est tout...
De plus si quelqu'un a un exemple d'utilisation de cette lib je suis partant![]()
(Fmod est une lib qui permet de gérer les son)
Lorsque j'essaie de l'ajouté dans la référence Visual studio me dit de vérifier qu'il s'agit d'un COM valide ou qu' fmodex soit bien accessible...
une dll com doit etre registrée (regsvr32.exe chemin.dll)
puis elle apparaitra dans la liste des dll COM (onglet dédié)
sinon il y a bass.net qui est soit en .net soit c'est un wrapper .net, mais dans les 2 cas c'est peut etre plus simple à utiliser
Pour autant que je sache FMod n'est pas un composant COM.
C'est une lib en C (C++ pour les dernière version il parait, je dois dire que je l'ai jamais utilisée donc j'en sais rien, mais un petit tour sur le site officiel donnera l'info).
Toujours est-il que je te conseil d'utiliser une implémentation en .Net directement (qu'il s'agisse d'une ré-implémentation complète ou d'un wrapper).
En tapant "fmod .net" sur google, dès le premier lien on tombe sur ca : http://sourceforge.net/projects/fmodnet
A mon avis tu aura moins de mal que de te taper toi même l'implémentation d'un wrapper et/ou de p/invoke.
ré-implémentation complète, wrapper??arff!!
Sa prend une drôle de tournure je voudrais juste lire un mp3 avec Fmod mais la c'est hard...
Par contre pour le lien donner c'est pour du C# nan ?
Sur le site officiel on aboutit surtout sur des exemple pour C et C++
un wrapper est à priori une dll qui s'occupe pour toi d'appeler la dll de base pour pas que tu t'embetes trop en ayant des membres qui appèlent les membres d'origine
m'enfin google/define:wrapper te donnera la définition exacte ^^
mais si tu galère avec fmod ou que tu ne trouves pas un fmod .netisé, essaye bass.net
Tout le problème est la justement.
FMod n'est pas une lib en .Net, c'est une bibliothèque native. En conséquence tu ne peux pas l'utiliser directement en dans le .Net (ce qui inclut le C#).
Pour utiliser une telle bibliothèque il y a généralement 3 solutions.
- Quand tu possède les sources et que la licence te le permet, tu peux ré-écrire entièrement la bibliothèque. Cette méthode n'offre quasiment aucun avantage, est très longue et complexe, pas très intelligente vu que tu ré-écrit ce qui existe déjà. Bref, à éviter dans la mesure du possible.
- Ecrire un wrapper en C++/CLI. Le C++ te permet d'utiliser les bibliothèques écrites en C ou en C++ (et certains autres langages). Le C++/CLI te permet de rendre du code natif disponible dans le monde .Net. Le but est donc d'écrire tout un framework d'accès en ré-écrivant toutes les fonctions/classes. Si ta bibliothèque native possède une fonctions "Init", tu écris une fonction .Net avec la même signature et qui se contente d'appeler la fonction de la bibliothèque.
On parle de wrapper parce que ca encapsule quelque chose. La syntaxe est assez complexe et personnellement, malgré le fait que je code en C++ depuis que j'ai 8 ans et en C# depuis environs 4 ans, je n'arrive pas a me faire à cette syntaxe que je trouve illisible.- Ecrire un wrapper en p/invoke. Le .Net peut utiliser des bibliothèque native dans une certaine mesure. C'est la méthode la plus simple. Ce n'est pas simple pour autant. Il faut jouer avec beaucoup d'attributs et faire très attention aux allocations mémoire puisque tu perd en partie le garbage collector du .Net.
Dans tous les cas, le wrapper ou la ré-implémentation peut parfois déjà exister. Cependant, il ne faut pas oublier qu'il s'agit très rarement de projets directement développés par ceux qui ont créé la bibliothèque native. En conséquence il y a souvent pas mal de problèmes, comme par exemple la bibliothèque officielle à subit beaucoup de mises à jour qui n'ont pas été reportée dans le wrapper qui peut dès lors ne plus fonctionner.
Tout ca pour dire que si tout ce charabia te semble hors de portée ou démesuré par rapport à ce que tu souhaite faire, il est temps de songer à utiliser quelque chose de plus simple, quelque chose qui fonctionne déjà "de base" avec le .Net, comme Pol63 te le suggère.
FMod est certes très connus et utilisé, reconnus par beaucoup comme une des meilleures bibliothèque audio, mais la question est plutôt de savoir si c'est judicieux de l'utiliser. Compte tenu des problème que son utilisation apporte dans le .Net, il est surement préférable d'utiliser quelque chose de peut être moins bon, mais qui fonctionnera en quelques minutes sans se casser la tête pour pas grand chose.
ouiMerci pour vos explication claire et précise et très rapide aussi ^^ c'est clair que je suis mal barré vue la situation actuelle j'apprécie votre aide mais j'ai voulue utilisé fmod parce qu'il me semblait être fortement dirigé vers le domaine interaction programme-utilisateur par ses nombreuses fonction... je vais regarder pour bass.net dans le pire des cas revenir sur fmod en langage C
" au finale je cherche a créer un livre numérique interactif avec des actions du type le curseur de la souris sur une zone de texte déclenche un évènement sonore ou animation image ect..."
Donc tu n'a absolument pas besoin de FMod en particulier. Tu as juste besoin de lire un son. FMod va véritablement beaucoup plus loin que juste la lecture basique d'un son. Il permet aussi et surtout de faire des effets sur les sons ce qui rend son utilisation utile dans le domaine du jeu vidéo par exemple.
Mais si tu souhaite juste jouer un fichier audio sans plus de fioriture, sortir FMod c'est comme utiliser un tank pour tuer une mouche.
Nan sa ne se limite pas malheureusement à juste lire un fichier par exemple si l'histoire décrie le héros rentrant dans une grotte je dois être capable d'appliquer une reverbe et un delay pour la bande sonore qui joue l'ambiance; et lire des fichier en simultanée aussi bien en midi qu'en ogg ou mp3; je souhaite aussi jouer avec le paning un tire évite par le heros le son doit etre jouer dans le coté droit ensuite coté gauche créer des automation ect ... comme dans un jeux ou un film bref fmodlol
![]()
Il n'est pas totalement exclu d'utiliser des effets sonores dans un livre interactif (bien que je connais pas trop ce domaine...).
Mais c'est clair que c'est pas la keyfeature pour l'application et que faut peut être mieux utiliser un truc plus "basique" en premier lieu et implémenter ça dans une version ultérieur.
Ca serait vraiement dommage que tu prennes du retard sur cet aspect.
ouai je crois bien que vous avez raison... en même temps je ne sais pas vraiment ou commencer je me suis jeter sur ce moteur audio parce que je fait un peu de mao mais sa na rien avoir lol ... je devrai peut etre avant tout créer l'éditeur de texte approprié....une idée?
Partager