Share via


enumeração ACX_STREAM_STATE (acxstreams.h)

ACX_STREAM_STATE descreve os sinalizadores acx Stream State.

Syntax

typedef enum _ACX_STREAM_STATE {
  AcxStreamStateStop,
  AcxStreamStateAcquire,
  AcxStreamStatePause,
  AcxStreamStateRun,
  AcxStreamStateMaximum
} ACX_STREAM_STATE, *PACX_STREAM_STATE;

Constantes

 
AcxStreamStateStop
Descreve o Estado de Stream acx é interrompido.
AcxStreamStateAcquire
Descreve o Estado de Stream acx está sendo adquirido. Esse estado só é usado internamente; o fluxo fará a transição diretamente de AcxStreamStateStop para AcxStreamStatePause ou de AcxStreamStatePause para AcxStreamStateStop.
AcxStreamStatePause
Descreve o Estado de Stream do Acx como pausado.
AcxStreamStateRun
Descreve o Estado de Stream acx como em execução.
AcxStreamStateMaximum
Descreve o Acx Stream State Maximum. Esse valor é usado para validação interna.

Comentários

Um AcxStream dá suporte a estados diferentes. Esses estados indicam quando o áudio está fluindo (estado RUN) ou não fluindo (estado PAUSE ou STOP).

Depois que o fluxo é criado e os buffers apropriados são alocados, o fluxo está no estado Pausar aguardando o início do fluxo. Quando o cliente colocar o fluxo no estado Play, a estrutura ACX chamará todos os circuitos associados ao fluxo para indicar que o estado do fluxo está em Reprodução. Em seguida, o ACXPIN será colocado no estado Reproduzir, momento em que os dados começarão a fluir.

Depois que o fluxo for criado e os recursos forem alocados, o aplicativo chamará Iniciar no fluxo para iniciar a reprodução.

O cliente começa pré-rolando um buffer. Quando o cliente chamar ReleaseBuffer, isso será convertido em uma chamada no AudioKSE que chamará para a camada ACX, que chamará EvtAcxStreamSetRenderPacket no ACXSTREAM ativo. A propriedade incluirá o índice de pacotes (baseado em 0) e, se apropriado, um sinalizador EOS com o deslocamento de bytes do final do fluxo no pacote atual.

Durante a desligar e remover o dispositivo ACX, se os fluxos estiverem presentes, os retornos de chamada do ACX SetState serão invocados para fazer a transição de todos os fluxos do circuito para Pausar. Isso é Stream instância com escopo.

  • Depois de AcxStreamCreate, o AcxStream está no estado AcxStreamStateStop.
  • Depois que EvtAcxStreamPrepareHardware retornar com êxito, o AcxStream estará no estado AcxStreamStatePause.
  • Depois que EvtAcxStreamRun retornar com êxito, o AcxStream estará no estado AcxStreamStateRun.
  • Depois que EvtAcxStreamPause retornar, o AcxStream estará no estado AcxStreamStatePause.
  • Depois que EvtAcxReleaseHardware retornar, o AcxStream estará no estado AcxStreamStop.

Exemplo

O uso de exemplo é mostrado abaixo.

    ACX_STREAM_STATE    m_CurrentState;
...
    if (m_CurrentState != AcxStreamStatePause)
    {
        status = STATUS_INVALID_STATE_TRANSITION;
        return status;
    }

Requisitos do ACX

Versão mínima do ACX: 1.0

Para obter mais informações sobre as versões do ACX, consulte Visão geral da versão do ACX.

Requisitos

Requisito Valor
Cabeçalho acxstreams.h

Confira também