Foros - Stratos

Programadores => Programación de audio => Mensaje iniciado por: djskonex en 08 de Marzo de 2007, 06:38:52 PM

Título: modificar posicion inicial para reproducir wav DirectSound
Publicado por: djskonex en 08 de Marzo de 2007, 06:38:52 PM
Hola a todos,

estoy programando un minieditor de audio con directsound y streaming, y necesito saber como poder poner como posicion inicial del sonido otra posicion cualquiera, con el fin de implementar una funcion que permita reproducir/modificar una parte del sonido seleccionada por el usuario, si pudieseis ayudarme con esto os estaria muy agradecido.
Título: modificar posicion inicial para reproducir wav DirectSound
Publicado por: AK47 en 08 de Marzo de 2007, 07:23:36 PM
Mira la documentación de DirectSound (viene en el SDK de DirectX). Hay una función llamada SetPosition o algo así.
Título: modificar posicion inicial para reproducir wav DirectSound
Publicado por: djskonex en 09 de Marzo de 2007, 03:27:25 PM
ya mire an el SDK de DirectX, pero la funcion que mencionas es para los buffers de sonido 3D para indicar la posicion del oyente, yo lo que necesito es, que la lectura del archivo de sonido para rellenar el buffer comience en un punto distinto al inicial y termine en otro distinto al final.

gracias de todas formas.
Título: modificar posicion inicial para reproducir wav DirectSound
Publicado por: AK47 en 09 de Marzo de 2007, 04:34:36 PM
En efecto, SetPosition() o algo asi son para bufferes 3D, pero hay una función que hace lo que tu pides en la interfaz LPDIRECTSOUNDBUFFER8
Título: modificar posicion inicial para reproducir wav DirectSound
Publicado por: [EX3] en 09 de Marzo de 2007, 09:00:07 PM
Las funciones son SetCurrentPosition() y GetCurrentPosition() que son miembros de DirectSoundSecondaryBuffer8.

Salu2...
Título: modificar posicion inicial para reproducir wav DirectSound
Publicado por: djskonex en 14 de Marzo de 2007, 06:52:23 PM
Muchas gracias por la informacion, pero no es exactamente lo que ando buscando, ya que esas funciones, por lo que se, son para controlar el buffer, con lo que solo podria controlar una porcion del sonido de un wav de menor tamaño que el buffer, yo necesito reproducir porciones de ficheros wav de cualquier tamaño, con lo cual necesitaria empezar a leer el fichero en una determinada posicion del mismo.

Gracias de todas formas.

Saludos.
Título: modificar posicion inicial para reproducir wav DirectSound
Publicado por: marcode en 15 de Marzo de 2007, 03:44:36 PM
Pues tú mismo lo has dicho, tienes que leer del fichero en una posición determinada y copiar al buffer lo que te interese. Con fseek, SetFilePointer o lo que sea que uses.