Freigeben über


AUDIO_CURVE_TYPE-Aufzählung (ksmedia.h)

Die AUDIO_CURVE_TYPE-Aufzählung definiert Konstanten, die einen Kurvenalgorithmus angeben, der angewendet werden soll, um einen Lautstärkegrad 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 angegebene Kurve dauer gleich 0 sein.
AUDIO_CURVE_TYPE_WINDOWS_FADE
Gibt an, dass der Algorithmus, der auf die Lautstärkeeinstellung angewendet wird, der im Diagramm im Abschnitt Hinweise angezeigten Kurve folgen muss.

Bemerkungen

Der folgende Codeausschnitt von Pseudocode 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 Lautstärkestufe.

grafische Darstellung der Lautstärkekurve.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8
Header- ksmedia.h

Siehe auch

KSAUDIOENGINE_VOLUMELEVEL

KSPROPERTY_AUDIOENGINE_VOLUMELEVEL