VHSeifer
Messages postés18Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention16 mai 2008
-
21 août 2005 à 07:29
knight82
Messages postés4Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention13 avril 2009
-
7 avril 2009 à 11:33
Bonjour
Voila j'ai remarqué que le seul type de fichier audio que l'on peut mettre dans Ressources est Wav.
Quand j'ajoute un fichier .mid il va se mettre dans la zone " Fichier " de Ressources et le type que je peux retirer de cette sauvegarde est "byte[]". Or mon but est bel et bien de lire cette musique par exemple via cette instruction :
using Microsoft.DirectX;
using Microsoft.DirectX.DirectSound;
using Microsoft.DirectX.AudioVideoPlayback;
(...)
Audio musique =
new
Audio("Mettre ici le chemin du mid (string)");
musique.Play();
Si qqu'un connait le truc pour transformer correctement le byte[] que je retire de mon fichier .mid mit en Ressources (VS sait quand meme le lire et le reconnait en tant que .mid, c'est pour ca que je pense ( j'espère ) que c'est possible de faire une conversion...)
Sinon ben oui, il fodra bien placer mes fichiers .mid et autres non reconnus dans un dossier en installant le programmme...
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 21 août 2005 à 09:45
Salut,
Si la classe Audio n'est en mesure que de prendre un chemin d'accès "réel" et pas un Stream, il te reste aussi la solution d'écrire temporairement ton mid sur le disque depuis les ressources, au lancement de l'appli ou a sa 1ere utilisation, et de le supprimer à la fermeture.
Ainsi tu pourras te servir de la classe Audio.
Pour ce qui de la lecture directement depuis le Stream sur la ressource, ça doit probablement être faisable avec DirectSound, à vérifier.
VHSeifer
Messages postés18Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention16 mai 20081 21 août 2005 à 16:53
Bonjour
Merci pour la réponse, j'ai donc essayer de faire qqch avec la classe Buffer de DirectSound, mais au moment de créer le buffer avec un MemoryStream créé avec la ressources , il me fait cette erreur :
"Value does not fall within the expected range" Je pense que cette classe ne sait lire que des .wav ( corrigez-moi si je me trompe... )
Donc il est vrai que ta deuxième proposition de créer le fichier au début et de le supprimer est très pratique et se rapproche le plus de ce que je voulais faire, evidemment cette technique marche nickel donc au lieu de continuer a m'arracher les cheveux avec DirectSound je vais adopter cette soluce !
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 21 août 2005 à 17:03
Pour le Buffer je ne sais pas, je connaissais juste son existence, pas son fonctionnement. :p
Par contre suivant tes besoins en audio jette un petit coup d'oeil à FMOD, ça pourrais peut être t'interesser.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 21 août 2005 à 18:39
Ouaip de mémoire DirectSound c'est que du WAV c'est DirectMusic pour lire le MIDI mais la dernère fois que j'ai régardé MDX y'avait pas de DirectMusic managé.. FMOD c'est le top, une autre possibilité c'est d'utiliser WMP.
Vous n’avez pas trouvé la réponse que vous recherchez ?