Pregunta

Tengo una corriente de audio PCM capturado desde un teléfono celular, y quiero jugarlo.

Estoy tratando de encontrar un método ligero de jugar este audio en C ++.

Ya puedo palmada en la cabecera de las ondas y crear un archivo que se reproduce en cualquier reproductor de medios, pero quiero reproducir el archivo en tiempo real a medida que fluye. Me gustaría evitar escribir el archivo en un disco sólo para leer de nuevo, y yo también no quiero tener pausas en el audio como dejo un archivo y empezar otro.

Me doy cuenta de que OpenAL proporciona una funcionalidad de streaming de audio, pero esperaba algo más simple. Sólo tengo que jugar un único flujo de canal PCM.

¿Alguien sabe de un peso ligero, libre (para uso comercial) biblioteca o API de Windows que puede hacer esto?

¿Fue útil?

Solución

Utilice la waveOut API de Windows

Otros consejos

Parece que la patente ha expirado , por lo que no debería haber complicaciones legales. La belleza de una patente es que hace que el público algoritmo.

Reproducción de un solo flujo PCM no es tan simple, por desgracia. No es tan dificil. No he utilizado OpenAL pero bajo de audio estándar de Windows, XAudio2 o DirectSound su fácil de usar un doble buffer. tampón 1 Juega mientras se llena memoria intermedia 2 de la corriente. A continuación, reproducir buffer2 mientras se llena la Memoria Intermedia 1 y así sucesivamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top