Foros del Web » Programación para mayores de 30 ;) » Programación General »

Reproducción de Sonido en forma continua utilizando C++ Urgente!!!!

Estas en el tema de Reproducción de Sonido en forma continua utilizando C++ Urgente!!!! en el foro de Programación General en Foros del Web. Hola amigos del foro necesito ayuda en forma urgente, mi problema es el siguiente estoy haciendo un programa que es como un orquesta distribuida que ...
  #1 (permalink)  
Antiguo 23/06/2005, 08:10
 
Fecha de Ingreso: diciembre-2003
Mensajes: 17
Antigüedad: 20 años, 4 meses
Puntos: 0
Reproducción de Sonido en forma continua utilizando C++ Urgente!!!!

Hola amigos del foro necesito ayuda en forma urgente, mi problema es el siguiente estoy haciendo un programa que es como un orquesta distribuida que quiere decir esto, un cliente es un piano por ej y el server escucha y reproduce en seudotiempo real lo que toca el piano. Bueno mi problema es yo reproduzco bien lo que llega de la red pero se escuchan silencios entre buffer y buffer que paso a la placa de sonido utilizando las apis de windows waveoutwrite y demás. Y esto produce un sonido como de una pistola de rayos laser (jaja). Bueno yo se que es un problema de diseño pero hasta ahora no se me ocurre nada para poder resolverlo. Yo lo pensé y esta hecho de esta manera: lo que va llegando de la red lo almaceno en una lista y lo va controlando una thread por otro lado el thread principal toma lo que hay en la lista calcula los respectivos senos va llenando el buffer y lo pasa a la placa de sonido, yo pensé estoy tratando de usar 2 buffer asi cuando se termina de reproducir uno mando el otro para no darle tiempo a que se produzca silencio pero no se me ocurre como hacerlo. Bueno es urgente porque es un tp para la facu. Desde ya les agradezco mucho. Hasta luego
__________________
Marcos Sayoni
  #2 (permalink)  
Antiguo 23/06/2005, 13:20
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Pues tu idea seria la mejor opcion.
Lo ideal seria que en tu thread donde esta la lista, pusieras un fake.
Osea en realidad tienes 2 listas, si usas punteros puedes hacer que cuando una lista este llena, pasar inmediatamente a la otra y mientras se pasa la primera a la tarjeta, se va llenando la otra.

Es algo asi como el doble buffering de video pero con sonido.
Aparte de una vez te digo que las funciones de la winapi son algo lentas.

Saludos
  #3 (permalink)  
Antiguo 23/06/2005, 14:18
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Cita:
Iniciado por Instru
Aparte de una vez te digo que las funciones de la winapi son algo lentas.
Saludos
otra opcion (la cual no creo que quieras hacer), es que prubes con otras librerias.
Hay una que se llama FMOD que es muy buena y facil de utilzar. Y tambien esta otra llamada OpenAL, que tambien es muy buena y facil de usar.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:49.