10
votes

C ++ Bibliothèque MP3

Je suis épuisé à la recherche d'une bibliothèque de décodage MP3 C ++, de préférence gratuitement (comme LGPL) et de plate-forme multiples, ou pour Windows et Mac. Quelqu'un peut-il suggérer une telle bibliothèque et poster un didacticiel pour l'utiliser? FFMPEG et SDL (SDL_Sound, SDL_MIXER) ne compilent pas. Je suis incapable d'obtenir le travail MPG123 - est-ce que Linux World est seulement ou quoi? Y a-t-il du tutoriel sur l'utilisation de MPG123 sur Windows? MPG123 est incapable de trouver des symboles que je ne mettez pas de la DLL à droite - mais qui?

Dans l'ensemble, je veux pouvoir lire et écrire tous les principaux formats de fichiers audio sous Windows et Mac - commençant par Windows.


7 commentaires

Les gut de VLC sont FFMPEG et fonctionnent sur Windows et Mac.


HMM Droite - Pouvez-vous poster un didacticiel sur la façon de vous faire fonctionner FFMPEG?


Vous pouvez probablement éviter beaucoup de problèmes de construction en commençant ici. ffmpeg.zerano.com


J'utilise la même construction, mais le problème est que FFMPEG utilise C99 et MSVC (Visual Studio et Qt) est incompatible avec C99.


Quel ajout de C99 in non pris en charge en C ++? Quand vous dites incompatibles, que voulez-vous dire?


Vous aurez également besoin d'une bibliothèque pour extraire les informations d'identification ID3 avant de l'alimenter sur le décodeur ou pour le désengager lors du décodage.


Didacticiel pour décoder la plupart des fichiers audio: rodic.fr/blog/libavcodec-Tutorial- Decode-Audio-Fichier


6 Réponses :


1
votes

Avez-vous regardé dans boiteux ? Notez également que l'algorithme MP3 est soumis aux brevets, vous devez donc marcher avec soin, quelle que soit la bibliothèque que vous utilisez.


2 commentaires

Je pense que boiteux est seulement pour le codage. Et oui, je suis au courant des brevets, mais il y a toujours beaucoup de bibliothèques pour faire le travail.


Lame a un décodeur intégré en utilisant mpg123



0
votes

Jetez un coup d'œil à Bass :

J'ai travaillé avec cela il y a quelques années, il était facile à utiliser, multiplateforme, avec une bonne qualité sonore et le développeur était très favorable. C'est gratuit pour une utilisation non commerciale.


0 commentaires

1
votes

Je pense que je pense la dernière fois que j'avais besoin d'avoir utilisé libmad . Bien travaillé mais c'est un c lib.


0 commentaires

2
votes

Il y a quelques options:

  • gstreamer :

    gstreamer est une bibliothèque multiplate-forme de construction de graphiques de médias Manipulation des composants. Les applications qu'il prend en charge la lecture d'une simple lecture d'OGG / Vorbis, de streaming audio / vidéo au format audio (mélange) complexe et vidéo (montage non linéaire).

    Cette page a des informations très intéressantes sur Gstreamer et le format MP3, C'est une lecture indispensable si vous décidez d'aller avec gstreamer:

    Le format audio MP3 est une douleur. Il est grevé de brevet, ce qui rend difficile les distributeurs Linux d'emballer (ou des utilisateurs de Linux à utiliser) légalement dans diverses parties du monde. Cela ne sonne même pas tout ce bien, comparé à certaines des alternatives. Pourtant, MP3 est difficile à éviter;

    En plus de cela, Gstreamer Ofers une interface de ligne de commande via GST-Launch qui est très utile pour tester le pipeline que vous assemblez dans votre programme avant de commencer à écrire le code de votre programme. Code: xxx

    et si vous avez besoin de Construire gstreamer sur Windows , Vérifiez ce Tutoriel pour Visual Studio .

    • Portudio :

      PORTAUDIO est une plate-forme multi-plate-forme, open source, audio Bibliothèque d'E / S. Il vous permet d'écrire des programmes audio simples dans «C» ou C ++ qui compilera et exécutera de nombreuses plates-formes, y compris Windows, Macintosh OS X et UNIX (OSS / ALSA).

      Le support MP3 vient via libmad . Il y a Tutoriels qui aident à construire et à utiliser la bibliothèque. < / p>


0 commentaires

0
votes

Je suppose que le greamer est un meilleur choix, mais vous pouvez également utiliser la libvlc qui est un noyau de lecteur VLC.


0 commentaires

1
votes

Vous pouvez essayer Helix .

Il possède une version optimisée pour les plates-formes intégrées et les architectures de bras.


0 commentaires