Condividi tramite


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