enumerasi AUDIO_CURVE_TYPE (ksmedia.h)
Enumerasi AUDIO_CURVE_TYPE menentukan konstanta yang menentukan algoritma kurva yang akan diterapkan untuk mengatur tingkat volume.
Sintaks
typedef enum {
AUDIO_CURVE_TYPE_NONE,
AUDIO_CURVE_TYPE_WINDOWS_FADE
} AUDIO_CURVE_TYPE;
Konstanta
AUDIO_CURVE_TYPE_NONE Menentukan bahwa tidak ada algoritma kurva yang akan diterapkan. Ketika kurva ini ditentukan, durasi kurva yang ditentukan harus sama dengan 0. |
AUDIO_CURVE_TYPE_WINDOWS_FADE Menentukan bahwa algoritma yang diterapkan ke pengaturan volume harus mengikuti kurva yang diperlihatkan dalam diagram di bagian Keterangan . |
Keterangan
Cuplikan pseudocode berikut menunjukkan logika untuk algoritma yang diterapkan ke pengaturan volume untuk mencapai tingkat volume target.
// 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;
}
}
Dan diagram berikut menunjukkan representasi grafis dari pseudocode sebelumnya untuk mengatur tingkat volume.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 |
Header | ksmedia.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk