Pregunta Cómo reproducir archivos MP3 en C?


Estoy buscando la manera más fácil de reproducir un archivo MP3 en C. Estoy buscando ya sea una biblioteca, en la que podría llamar a la función en el nombre del archivo, o un ejecutable que simplemente se ejecutará y saldrá. Por favor recomiende.


32
2018-01-09 17:08


origen


Respuestas:


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, te sugiero que uses C ++ en vez de C.


24
2018-01-09 17:55



los BASS DLL es realmente fácil de usar y probablemente haga lo que necesita. Sin embargo, solo es gratis para uso no comercial.

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


5
2018-01-11 20:01



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


3
2018-01-09 17:32



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

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


3
2018-01-11 19:57



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

Puede descargar la biblioteca y mirar la muestra del código para comenzar. El ejemplo de "concurso" en el directorio C es un buen punto de partida.


2
2018-01-09 17:41



Si puede usar C ++ y si está trabajando en la plataforma de Windows que utilizar WMp3

Esa biblioteca es fácil de usar y te permite jugar, pausar, buscar en archivos mp3.


1
2018-01-09 18:06



como alternativa, algo que alguien ya ha escrito se ejecutará y abandonará.

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

mpg123 <mp3file>

reproducirá un archivo mp3 y saldrá.


0
2018-01-09 20:37



mpg123 tiene una interfaz remota genérica a la que accede iniciando el ejecutable con la opción -R. A continuación, puede enviar comandos (como carga, pausa, etc.) a través de una tubería fifo o al stdin del subproceso. Si nada más es fácil de depurar y probar manualmente.


0
2018-01-30 11:53