KSAUDIO_POSITION struttura (ksmedia.h)
La struttura KSAUDIO_POSITION specifica le posizioni correnti dei cursori di riproduzione e scrittura nel buffer audio per un flusso audio.
Sintassi
typedef struct {
#if ...
ULONGLONG PlayOffset;
#if ...
ULONGLONG WriteOffset;
#else
DWORDLONG PlayOffset;
#endif
#else
DWORDLONG WriteOffset;
#endif
} KSAUDIO_POSITION, *PKSAUDIO_POSITION;
Members
PlayOffset
Specifica la posizione di gioco corrente come offset di byte.
WriteOffset
Specifica la posizione di scrittura corrente come offset di byte.
Commenti
Questa struttura viene usata per ottenere e impostare il valore dei dati per la proprietà KSPROPERTY_AUDIO_POSITION .
Per un buffer client ciclo (con tipo di flusso KSINTERFACE_STANDARD_LOOPED_STREAMING), PlayOffset e WriteOffset sono offset byte nel buffer client. Quando entrambi gli offset raggiungono la fine del buffer, viene eseguito il wrapping all'inizio del buffer. Di conseguenza, nessuno dei due offset supera mai le dimensioni del buffer.
Per un buffer client nonlooped (con tipo di flusso KSINTERFACE_STANDARD_STREAMING), PlayOffset e WriteOffset non vengono offset in un buffer fisico allocato dal driver o da un client allocato. Questi offset sono invece relativi al flusso e possono essere considerati come offset in un buffer idealizzato che contiene l'intero flusso ed è contiguo dall'inizio alla fine. Eventuali offset interni che puntano ai buffer fisici effettivi che contengono i dati devono essere mantenuti separatamente.
Durante la riproduzione, i valori PlayOffset e WriteOffset vengono interpretati come segue:
- PlayOffset è l'offset dell'ultimo byte nel buffer riprodotto. PlayOffset + 1 è l'offset del byte successivo che verrà riprodotto.
- WriteOffset è l'offset dell'ultimo byte nel buffer di riproduzione.
Durante la registrazione, i valori PlayOffset e WriteOffset vengono interpretati come segue:
- PlayOffset è l'offset dell'ultimo byte nel buffer acquisito. PlayOffset + 1 è l'offset del byte successivo che verrà acquisito.
- WriteOffset è l'offset dell'ultimo byte nel buffer di acquisizione.
Lo spazio tra PlayOffset e WriteOffset viene considerato non limitato al client perché rappresenta la parte del buffer client già inviato al driver e potrebbe comunque essere in uso dal driver.
Per altre informazioni, vedere Proprietà posizione audio.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ksmedia.h (includere Ksmedia.h) |
Vedi anche
KSINTERFACE_STANDARD_LOOPED_STREAMING