ACX_PEAKMETER_CONFIG struttura (acxelements.h)
La struttura ACX_PEAKMETER_CONFIG viene usata per definire la configurazione del picco ACX.
Sintassi
typedef struct _ACX_PEAKMETER_CONFIG {
ULONG Size;
ULONG Id;
const GUID *Name;
ULONG Flags;
ULONG ChannelsCount;
LONG Maximum;
LONG Minimum;
ULONG SteppingDelta;
PACX_PEAKMETER_CALLBACKS Callbacks;
} ACX_PEAKMETER_CONFIG, *PACX_PEAKMETER_CONFIG;
Members
Size
Lunghezza, in byte, di questa struttura.
Id
Numero che rappresenta l'ID elemento.
Name
Puntatore a un GUID che rappresenta il nome dell'elemento. Il valore predefinito è KSAUDFNAME_PEAKMETER se non presente.
Flags
Flag di configurazione del picco ACX definiti dall'enumerazione ACX_PEAKMETER_CONFIG_FLAGS.
Non sono attualmente definiti bit di flag. Impostare questo membro su zero : AcxPeakMeterConfigNoFlags.
ChannelsCount
Il numero di canali. Si tratta di un conteggio basato.
Maximum
Valore massimo per il picco. SignedMaximum deve essere impostato su LONG_MAX.
Minimum
Valore minimo per il picco. SignedMinimum deve essere impostato su LONG_MIN.
SteppingDelta
Valore di passaggio per il piccometro.
Callbacks
Struttura ACX_PEAKMETER_CALLBACKS che identifica i callback driver per le operazioni di streaming del motore audio ACX.
Commenti
Ad esempio, si dispone di una forma d'onda con picchi negativi e positivi rispettivamente a -1 e +1 (su una scala che passa da -1 a +1), quindi un valore del misuratore di picco di LONG_MAX segnala accuratamente il valore massimo della forma di onda per una determinata finestra temporale. Al contrario, deve essere usato un valore del misuratore di picco pari a zero (0) per segnalare il silenzio, dove tutti i valori della forma d'onda sono zero. Tuttavia, nel caso di una forma d'onda i cui valori di picco sono compresi tra zero (0) e LONG_MAX, i valori della forma d'onda segnalata verranno ridotti in modo lineare rispetto agli originali.
Pertanto, nel caso della forma d'onda che oscilla tra -0,5 e +0,5 (su una scala che passa da -1 a +1), il valore del misuratore di picco deve essere impostato su LONG_MAX/2.
Il driver gestisce questa richiesta di proprietà in modo sincrono. Se la richiesta ha esito positivo, reimposta il picco, che inizializza il valore di picco accumulato su zero. Se la richiesta non riesce, il piccometro non viene modificato.
Vedere anche KSPROPERTY_AUDIO_PEAKMETER2.
Esempio
Di seguito è riportato l'esempio di utilizzo.
// Default peak meter settings
#define PEAKMETER_STEPPING_DELTA 0x1000
#define PEAKMETER_MAXIMUM LONG_MAX
#define PEAKMETER_MINIMUM LONG_MIN
ACX_PEAKMETER_CONFIG peakmeterCfg;
ACX_PEAKMETER_CALLBACKS peakmeterCallbacks;
ACX_PEAKMETER_CALLBACKS_INIT(&peakmeterCallbacks);
peakmeterCallbacks.EvtAcxPeakMeterRetrieveLevel = CodecR_EvtPeakMeterRetrieveLevelCallback;
ACX_PEAKMETER_CONFIG peakmeterCfg;
ACX_PEAKMETER_CONFIG_INIT(&peakmeterCfg);
peakmeterCfg.ChannelsCount = MAX_CHANNELS;
peakmeterCfg.Minimum = PEAKMETER_MINIMUM;
peakmeterCfg.Maximum = PEAKMETER_MAXIMUM;
peakmeterCfg.SteppingDelta = PEAKMETER_STEPPING_DELTA;
peakmeterCfg.Callbacks = &peakmeterCallbacks;
Requisiti ACX
Versione minima DI ACX: 1.0
Per altre informazioni sulle versioni ACX, vedere Panoramica della versione di ACX.
Requisiti
Requisito | Valore |
---|---|
Intestazione | acxelements.h |