¿Cómo reproducir archivos MP3 en C?

2 minutos de lectura

avatar de usuario
Sam

Estoy buscando la forma más fácil de reproducir un archivo MP3 en C. Estoy buscando una biblioteca, en la que pueda simplemente llamar a la función en el nombre del archivo, o un ejecutable que simplemente se ejecute y se cierre. Por favor recomiende.

  • ¿Qué tipo de licencia debe tener esta biblioteca? Supongo que hay un par de GPL (aunque el formato/algoritmo mp3 siempre tiene/tuvo sus problemas de licencia), pero es posible que estos no se ajusten a su proyecto. También: windows/osx/linux?

    – Simón Groenewolt

    9 de enero de 2009 a las 17:14

avatar de usuario
friol

Utilizando FMOD (plataforma cruzada), esto debería ser tan simple como esto:

#include <conio.h>
#include "inc/fmod.h"

FSOUND_SAMPLE* handle;

int main ()
{
   // init FMOD sound system
   FSOUND_Init (44100, 32, 0);

   // load and play mp3
   handle=FSOUND_Sample_Load (0,"my.mp3",0, 0, 0);
   FSOUND_PlaySound (0,handle);

   // wait until the users hits a key to end the app
   while (!_kbhit())
   {
   }

   // clean up
   FSOUND_Sample_Free (handle);
   FSOUND_Close();
}

Como nota al margen, le sugiero que use C++ sobre C.

los BAJO DLL es muy fácil de usar y probablemente hará lo que necesita. Sin embargo, solo es gratuito para uso no comercial.

Si necesita más control, necesitará un códec (prefiero libMad) y alguna API de salida de sonido como DirectSound en Windows o ALSA o Linux (o lo que sea que los chicos de Linux usen para el sonido esta semana)

No sé si es “la forma más fácil”, pero podría echar un vistazo a SDL (junto con SDL_sound).

Si está en Windows u OSX, le recomiendo BASS (http://www.un4seen.com/bass.html)

Puede descargar la biblioteca y ver el ejemplo de código para comenzar. El ejemplo de “concurso” en el directorio C es un buen punto de partida.

En Win32, no necesita ninguna biblioteca. Use la API Win32 estándar (mp3 es nativo)

Ver en Adv. Grupo de noticias Win32 api: news://comp.os.ms-windows.programmer.win32 donde es una pregunta frecuente.

avatar de usuario
lava

Si puede usar C ++ y si está trabajando en la plataforma Windows, entonces use
WMp3

Es fácil trabajar con esa biblioteca y le permite reproducir, pausar, buscar en archivos mp3.

avatar de usuario
codelogic

alternativamente, algo que alguien ya haya escrito que simplemente se ejecutará y se cerrará.

Puedes usar mpg123 (o el puerto de punto fijo de la misma, mpg321)

mpg123 <mp3file>

reproducirá un archivo mp3 y saldrá.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad