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.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 |
Header- | ksmedia.h |