2011-02-23 14 views
9

Estoy trabajando en un reproductor de audio simple, que va bastante bien, usando Qt y todo. Pero necesito una biblioteca de audio sólida pero simple. No necesito nada sofisticado como el sonido 3D y qué sé qué más tienen estas cosas hoy en día. Solo estoy buscando algo simple y eficiente.Buscando una biblioteca de reproducción de audio simple para C++

Una lista de características Busco:

  1. la reproducción de audio a partir de archivos
  2. .ogg, .mp3 y .flac debe ser apoyada por lo menos.
  3. Debería poder pausar la reproducción.
  4. Tengo la intención de usarlo en C++

Sede. Nada enorme ni nada, pero al mismo tiempo me está costando encontrar algo adecuado. La plataforma a la que me refiero es Windows 7.

¿Alguien por ahí que sabe algo que podría estar buscando?

+0

Oye, hay muchas respuestas aquí, que se ven bastante bien para mí. ¿No quieres elegir uno como la respuesta correcta? – AudioDroid

+0

Sí, ha pasado un tiempo desde que vine aquí. Hecho ahora. :-) –

Respuesta

4

La mejor opción en mi opinión es la biblioteca de audio BASS, que no es de código abierto, pero es gratuita para uso no comercial.

Es utilizado por el reproductor de audio AIMP2, que puede usar para verificar la calidad del sonido, admite nativamente muchos formatos, incluidos MP3 y OGG, y utiliza complementos para admitir aún más, incluido FLAC.

2

¿Qué tal libavcodec? Su LGPL. No estoy seguro sobre ogg> _ <

+0

Esto parece un buen paso en la dirección correcta. Es una lástima que también cubra cosas de video, idealmente estoy buscando solo audio. De todos modos, esto se acerca más a lo que necesito en este momento. –

1

He usado BASS antes de un programa de Windows C++, y es muy simple de usar - enlace la DLL y llame a un par de métodos para especificar el archivo para reproducir.

Ciertamente maneja la reproducción de MP3 desde un archivo, ya que eso es lo que estaba haciendo.

Ojalá pudiera verificar OGG y Flac, pero estoy detrás de un firewall que tiene el sitio bloqueado.

+0

Eché un vistazo a BASS, pero no parecía ser compatible con FLAC. Aunque con una extensión, aparentemente puede. Es una opción, pero no sé, tener que agregar funcionalidad con extensiones parece una molestia. Solo quiero una biblioteca que no implique demasiado esfuerzo. Veamos si alguien más viene con una gema. –

0

Miles es una biblioteca de audio buena y de uso común.

+2

Es mejor considerar que cuesta $ 4000 USD, que va más allá de mi presupuesto de $ 0 USD. –

+0

hmm, solían tener una licencia gratuita para uso no comercial, pero parece que no puedo encontrarlo en este momento. –

0

Encontré una buena respuesta a mi propia pregunta a través de una respuesta de otro. FFmpeg es casi exactamente lo que estoy buscando. Gracias a todos.

+1

¿No es este el proyecto principal de libavcodec que sugirió Reno? – icabod

0

Sugiero Openframeworks o el uso de la biblioteca rtAudio - que openframeworks está usando - directamente. Ah, y en el lado: rtAudio prácticamente no tiene restricciones de licencia. ;-) Corrígeme, si me equivoco.

0

uso un encapsulación C++ de FFMPEG: FOBS
Fácil de usar y C++ :)

EDIT:

Fobs ya no se mantiene. Sin embargo, puede usarlo como punto de partida para crear su propia encapsulación en C++ de FFMPEG.

+0

descontinuado, desafortunadamente. – DevSolar

+0

@DecvSolar: Desafortunadamente. Actualizo mi respuesta ... – neuro

0

DirectShow es bastante fácil de usar, flexible y viene con Windows.Hay un millón de ejemplos, y puede ser tan fácil o tan sofisticado como lo necesites. Cuando tiro algo que necesita reproducir MP3, lo uso. Tenga en cuenta que tiene como objetivo Windows 7, por lo que podría considerar usar Media Foundation.

Cuestiones relacionadas