domingo, 26 de octubre de 2008

2. Direct Sound ¿Como Funciona?

Sebastian Franco
Andrés Segovia

La estructura lógica de DirectSound se puede describir mediante una jerarquía de buffers.


Jerarquía de Buffers


Cada buffer secundario almacena una muestra de sonido. Para cada buffer secundario se pueden especificar una serie de parámetros:

· Formato del buffer: que debe coincidir con el formato de la muestra, esto es,

bits por muestra, frecuencia de muestreo y número de canales.

· Controles del búfer: que son frecuencia de reproducción, volumen,

localización del sonido en un entorno 2D (altavoces estéreo) o en un entorno 3D(altavoces 5.1, 6.1, 7.1).

· Localización: Un búfer secundario puedes estar en memoria manejado por

software o en memoria manejado por hardware. Los búfers por hardware son más eficientes pero tienen un número limitado por la capacidad de la tarjeta de sonido.

No hay límite en el número de búferes secundarios que se pueden crear. El límite lo pone la capacidad de proceso de la máquina.

Cuando se crea un buffer secundario y no se especifica la localización, DirectSound intenta crearlo en un buffer por hardware ya que estos liberan de trabajo a la CPU.

Un buffer secundario, se crea a partir de un objeto dispositivo. Todos los buffers secundarios son propiedad del objeto dispositivo y cuando este sea borrado los buffers secundarios también lo serán.

Solo puede haber un objeto dispositivo por aplicación, al igual que solo puede haber un objeto buffer primario por aplicación.. El buffer primario mezcla todos los sonidos que se están reproduciendo desde los buffers secundarios y manda dicha mezcla al dispositivo para ser convertida en una señal analógica y poder reproducirse en los parlantes.

Se puede añadir tantos efectos como uno quiera a cada buffer secundario.



FUENTE: BARGEN, Bradley. 1998. A fondo DirectX. Madrid: Microsoft Press.

FUENTE: Microsoft DirectX. http://www.microsoft.com/windows/directx/