2009-01-09 34 views
31

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 de archivo, o un ejecutable que simplemente se ejecutará y saldrá. Por favor recomiende.¿Cómo reproducir archivos MP3 en C?

+0

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

Respuesta

3

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

2

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

se puede descargar la biblioteca y ver ejemplo de código para empezar. El ejemplo de "concurso" en el directorio C es un buen punto de partida.

22

Usando FMOD (multiplataforma), 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, me gustaría sugerir que el uso de C++ sobre C.

+14

No entiendo qué tiene que ver la nota al margen con la pregunta. – hanno

1

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

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

0

alternativamente algo ya está escrito y se ejecutará y saldrá.

Puede utilizar mpg123 (o el puerto de punto fijo de la misma, mpg321)

mpg123 <mp3file> 

jugarán un archivo MP3 y dejar de fumar.

2

En Win32, no necesita ninguna biblioteca. Usar api estándar Win32 (mp3 es nativo)

Ver el anuncio. Win32 api newsgroup: noticias: //comp.os.ms-windows.programmer.win32 donde es un FAQ.

+0

http://www.codeproject.com/KB/audio-video/MP3Example.aspx – bobobobo

5

El BASS DLL es muy fácil de usar y probablemente haga lo que necesite. Sin embargo, solo es gratis para uso no comercial.

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

0

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.

Cuestiones relacionadas