enumerazione ACX_STREAM_STATE (acxstreams.h)
ACX_STREAM_STATE descrive i flag Acx Stream State.
Sintassi
typedef enum _ACX_STREAM_STATE {
AcxStreamStateStop,
AcxStreamStateAcquire,
AcxStreamStatePause,
AcxStreamStateRun,
AcxStreamStateMaximum
} ACX_STREAM_STATE, *PACX_STREAM_STATE;
Costanti
AcxStreamStateStop Descrive l'arresto di Acx Stream State. |
AcxStreamStateAcquire Descrive l'acquisizione di Acx Stream State. Questo stato viene usato solo internamente; il flusso passerà direttamente da AcxStreamStateStop ad AcxStreamStatePause o da AcxStreamStatePause ad AcxStreamStateStop. |
AcxStreamStatePause Descrive acx Stream state come sospeso. |
AcxStreamStateRun Descrive Acx Stream State come in esecuzione. |
AcxStreamStateMaximum Descrive acx Stream valore massimo di stato. Questo valore viene usato per la convalida interna. |
Commenti
Un oggetto AcxStream supporta stati diversi. Questi stati indicano quando l'audio scorre (stato RUN) o non scorre (stato PAUSE o STOP).
Dopo aver creato il flusso e allocato i buffer appropriati, il flusso si trova nello stato Pausa in attesa dell'avvio del flusso. Quando il client inserisce il flusso in stato di riproduzione, il framework ACX chiamerà tutti i circuiti associati al flusso per indicare che lo stato del flusso è in riproduzione. L'ACXPIN verrà quindi posizionato nello stato di riproduzione, a quel punto i dati inizieranno a fluire.
Dopo aver creato il flusso e allocato le risorse, l'applicazione chiamerà Start nel flusso per avviare la riproduzione.
Il client inizia pre-rotolando un buffer. Quando il client chiama ReleaseBuffer, verrà convertito in una chiamata in AudioKSE che chiamerà nel livello ACX, che chiamerà EvtAcxStreamSetRenderPacket sull'ACXSTREAM attivo. La proprietà includerà l'indice dei pacchetti (basato su 0) e, se appropriato, un flag EOS con l'offset di byte della fine del flusso nel pacchetto corrente.
Durante l'accensione e la rimozione del dispositivo ACX, se sono presenti flussi, i callback di ACX SetState vengono richiamati per eseguire la transizione di tutti i flussi del circuito in Pausa. Questo è Stream ambito dell'istanza.
- Dopo AcxStreamCreate, AcxStream si trova nello stato AcxStreamStateStop.
- Dopo che EvtAcxStreamPrepareHardware restituisce correttamente AcxStream, acxStreamStatePause sarà nello stato AcxStreamStatePause.
- Dopo che EvtAcxStreamRun ha esito positivo, AcxStream sarà nello stato AcxStreamStateRun.
- Dopo che EvtAcxStreamPause restituisce AcxStream, lo stato AcxStreamStatePause sarà.
- Dopo che EvtAcxReleaseHardware restituisce AcxStream, lo stato AcxStreamStop sarà.
Esempio
Di seguito è riportato un esempio di utilizzo.
ACX_STREAM_STATE m_CurrentState;
...
if (m_CurrentState != AcxStreamStatePause)
{
status = STATUS_INVALID_STATE_TRANSITION;
return status;
}
Requisiti di ACX
Versione minima di ACX: 1.0
Per altre informazioni sulle versioni ACX, vedere La panoramica della versione di ACX.
Requisiti
Requisito | Valore |
---|---|
Intestazione | acxstreams.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per