Mi proyecto comercial C++ Linux requiere la reproducción simultánea de archivos wav y tonos en niveles de volumen individuales. Unos pocos ejemplos de los sonidos:Simple C++ Sound API
• “clic” suena cada vez que el usuario pulsa PANTALLA jugaron a un volumen especificado por el usuario
• Advertencia sonidos que se ejecutan en el máximo volumen
• Tonos de aviso solicitados por otras aplicaciones en app- nivel de volumen especificado (0-100%)
• Soporte futuro para reproductor de MP3 y/o reproducción de video (con sonido) a volumen especificado por el usuario. Todos los otros sonidos deben continuar mientras se reproduce la canción/video.
Estamos utilizando Qt como nuestro marco de interfaz de usuario que tiene soporte QtMultimedia y Phonon. Sin embargo, escuché que el primero tiene soporte de sonido irregular en Linux y este último es una versión anterior y puede ser desaprobado en una próxima versión de Qt.
que he hecho algunas investigaciones y aquí están algunas APIs que he encontrado:
KDE Phonon
SFML
PortAudio
SDL_Mixer
OpenAL Soft
FMOD (aunque yo prefiero evitar derechos de licencia)
ALSA (quizás un nivel demasiado bajo ...)
Otras consideraciones: No se requiere multiplataforma, pero se prefiere. Queremos limitar las dependencias tanto como sea posible. No hay necesidad de funciones avanzadas como audio 3D o efectos especiales en el futuro previsible. Mi equipo no tiene mucha experiencia de audio por lo que la facilidad de uso es importante.
¿Alguno de estos excede mi aplicación? ¿Cuál parece ser el mejor?
Actualización: Resulta que ya dependemos de SDL por otras razones, así que decidimos usar SDL_Mixer. Para otras aplicaciones Embedded, sin embargo, me tomaría un largo tiempo en el combo PortAudio/libsndfile también debido a sus mínimas dependencias.
Estábamos haciendo audio comercial en Linux incorporado hace unos años 2005-2008, y cuando recuerdo mi pila de audio C++ habló directamente con ALSA. http://www.alsa-project.org/main/index.php/Main_Page –