Freigeben über


AUDIO_CURVE_TYPE-Enumeration (ksmedia.h)

Die AUDIO_CURVE_TYPE-Enumeration definiert Konstanten, die einen Kurvenalgorithmus angeben, der angewendet werden soll, um eine Volumeebene festzulegen.

Syntax

typedef enum {
  AUDIO_CURVE_TYPE_NONE,
  AUDIO_CURVE_TYPE_WINDOWS_FADE
} AUDIO_CURVE_TYPE;

Konstanten

 
AUDIO_CURVE_TYPE_NONE
Gibt an, dass kein Kurvenalgorithmus angewendet wird. Wenn diese Kurve angegeben wird, muss die Dauer der angegebenen Kurve gleich 0 sein.
AUDIO_CURVE_TYPE_WINDOWS_FADE
Gibt an, dass der Algorithmus, der auf die Volumeeinstellung angewendet wird, der Kurve folgen muss, die im Diagramm im Abschnitt Hinweise dargestellt ist.

Hinweise

Der folgende Pseudocodeausschnitt zeigt die Logik für den Algorithmus, der auf die Volumeeinstellung angewendet wird, um die Zielvolumeebene zu erreichen.

// 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;
    }
}

Das folgende Diagramm zeigt eine grafische Darstellung des vorherigen Pseudocodes zum Festlegen der Volumeebene.

Grafische Darstellung der Volumenebenenkurve.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Kopfzeile ksmedia.h

Weitere Informationen

KSAUDIOENGINE_VOLUMELEVEL

KSPROPERTY_AUDIOENGINE_VOLUMELEVEL