Bonjour,
Je cherche un moyen de convertir automatiquement des fichiers wav vers du mp3.
Je voudrais que cela fonctionne aussi bien sous Windows que sous Linux.
Est-ce possible en C++ ? Sinon, en quel langage ?
Version imprimable
Bonjour,
Je cherche un moyen de convertir automatiquement des fichiers wav vers du mp3.
Je voudrais que cela fonctionne aussi bien sous Windows que sous Linux.
Est-ce possible en C++ ? Sinon, en quel langage ?
Le plus simple serait sûrement d'utiliser (depuis ton programme) un logiciel gratuit en ligne de commande.
Je ne sais pas si tu trouveras une bibliothèque gratuite qui gère le format MP3, à cause des problèmes de licence tout ça...
Je craignais un peu ca.
Ca m'embête un peu d'avoir à installer tout un tas de truc sur des postes clients.
Est ce que par hasard il n'existerait pas un moyen plus compliqué ? :roll:
Salut,
Je viens de trouver ceci sur le net http://wiki.hydrogenaudio.org/index.php?title=LAME, je pense que ca peut t'aider :)
Merci pour ton lien.
J'm'en va étudier les sources de Lame alors, j'crois que j'ai pas trop le choix... :roll: (merci l'Open Source)
Utilise plutôt du Vorbis.
MP3 est non seulement breveté etc., mais en plus c'est un format relativement vieux et obsolète.
Merci du conseil loufoque, mais je n'ai pas le choix, je dois obtenir du mp3 (pour pouvoir lire dynamiquement avec Flash Player).
Le format ogg Vorbis n'est effectivement pas reconnu en natif dans flash mais il me semble qu'il est quand meme possible de jouer du ogg a partir de flash.
Arretez vous allez presque réussir à me convaincre d'utiliser de l'Ogg :lol:
En attendant d'être totalement convaincu (et en attendant que cela soit effectivement compatible avec Minux), j'ai récupéré les sources de Lame, j'ai regardé comment ca marchait (en gros), j'ai voulu intégrer la librairie à mon projet, mais évidemment ca ne compile pas...
My problem is :
Ligne de compilation qui passe pas (j'utilise un Makefile mais pour etre plus simple je vous mets la ligne qui bloque) :Citation:
mise_a_jour.o(.text+0x30d0): In function `MiseAJour::encodeWavToMp3(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
: undefined reference to `init_infile(lame_global_struct*, char*)'
mise_a_jour.o(.text+0x3100): In function `MiseAJour::encodeWavToMp3(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
: undefined reference to `init_outfile(char*, int)'
mise_a_jour.o(.text+0x3188): In function `MiseAJour::encodeWavToMp3(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
: undefined reference to `get_audio(lame_global_struct*, int (*) [1152])'
collect2: ld returned 1 exit status
make: *** [bin] Erreur 1
Petite précision : les fonctions init_infile, init_outfile et get_audio sont définies dans ../libs/lame-3.97/frontend/get_audio.hCitation:
arm-linux-g++ -Wall -fsigned-char cgi_maj.o generation_form.o init.o mise_a_jour.o ../libs/obj_files/clientsocket.o ../libs/obj_files/socket.o
../libs/lame-3.97/frontend/get_audio.o ../libs/lame-3.97/frontend/portableio.o ../libs/lame-3.97/frontend/brhist.o ../libs/lame-3.97/frontend/lametime.o ../libs/lame-3.97/frontend/timestatus.o ../libs/lame-3.97/frontend/parse.o
../libs/tinyxml/tinystr.o ../libs/tinyxml/tinyxml.o ../libs/tinyxml/tinyxmlerror.o ../libs/tinyxml/tinyxmlparser.o
-L../libs/cgicc-3.2.3/cgicc/.libs/ -lcgicc -L../libs/lame-3.97/libmp3lame/.libs/ -lmp3lame
-o cgi-bin/cgi_generation_arm.cgi
Ca doit venir d'un problème de linkage, j'ai essayé en rajoutant un truc du genre -L../libs/lame-3.97/frontend/.libs/ -lfrontend, mais le repertoire .libs est vide, et il aime pas trop l'option -lfrontend (normal)
Euhhh la par contre :P no sé... j te up un peu le topic, mais jte conseille de changer l'intitulé du post pour que les gens viennent voir dessus et comprennent que tu as un pb de compilation maintenant :)
Tous les projets de Xiph.org, dont Vorbis, sont bien entendus compatibles avec Linux, puisque ce sont des formats totalement libres (ce sont d'ailleurs les seuls dans le monde du multimédia).
Après ce qui n'est pas forcément compatible Linux, c'est Flash.
À part ça, les erreurs "undefined reference" ça vient du fait que t'as pas lié une bibliothèque qu'il faut.
Merci à tous.
J'ai créé une nouvelle discussion pour mon erreur de compilation.
En attendant, j'utilise un fichier compilé de démo pour mes conversions, ca marche bien.