Share via


enumeración AUDIO_CURVE_TYPE (ksmedia.h)

La enumeración AUDIO_CURVE_TYPE define constantes que especifican un algoritmo de curva que se va a aplicar para establecer un nivel de volumen.

Syntax

typedef enum {
  AUDIO_CURVE_TYPE_NONE,
  AUDIO_CURVE_TYPE_WINDOWS_FADE
} AUDIO_CURVE_TYPE;

Constantes

 
AUDIO_CURVE_TYPE_NONE
Especifica que no se aplicará ningún algoritmo de curva. Cuando se especifica esta curva, la duración de la curva especificada debe ser igual a 0.
AUDIO_CURVE_TYPE_WINDOWS_FADE
Especifica que el algoritmo que se aplica a la configuración del volumen debe seguir la curva que se muestra en el diagrama de la sección Comentarios .

Comentarios

El siguiente fragmento de código pseudocódigo muestra la lógica del algoritmo que se aplica a la configuración de volumen para alcanzar el nivel de volumen de destino.

// POWER IN AMPLITUDE: 1.75

// Fade In:
// Curve begins at 0 when nFrame = 0
// When nFrame gets to (nFrames - 1), curve = 1
//
// curve = pow(nFrame / (nFrames - 1), exponent)

float fFrameCount = nFrames - 1.0f;
for (UINT32 nFrame = 0; nFrame < nFrames; nFrame++) {
    float curve = powf(nFrame / fFrameCount, 1.75f);
    for (UINT32 nChannel = 0; nChannel < pWfx->nChannels; nChannel++) {
            pFloat[nFrame * pWfx->nChannels + nChannel] *= curve;
    }
}

// Fade Out:
// curve begins at 1 when nFrame = 0
// When nFrame gets to (nFrames - 1), curve = 0
//
// curve = pow(1 - (nFrame / (nFrames - 1)), exponent)

float fFrameCount = nFrames - 1.0f;
for (UINT32 nFrame = 0; nFrame < nFrames; nFrame++) {
    float curve = powf(1.0f - (nFrame / fFrameCount), 1.75f);
    for (UINT32 nChannel = 0; nChannel < pWfx->nChannels; nChannel++) {
            pFloat[nFrame * pWfx->nChannels + nChannel] *= curve;
    }
}

Y en el diagrama siguiente se muestra una representación gráfica del pseudocódigo anterior para establecer el nivel de volumen.

Representación gráfica de la curva de nivel de volumen.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Encabezado ksmedia.h

Consulte también

KSAUDIOENGINE_VOLUMELEVEL

KSPROPERTY_AUDIOENGINE_VOLUMELEVEL