Partilhar via


ACX_STREAM_STATE enumeração (acxstreams.h)

ACX_STREAM_STATE descreve os sinalizadores do Acx Stream State.

Sintaxe

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

Constantes

 
AcxStreamStateStop
Descreve que o Estado do Fluxo acx foi interrompido.
AcxStreamStateAcquire
Descreve se o Estado do Fluxo 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 do Fluxo acx como pausado.
AcxStreamStateRun
Descreve o Estado do Fluxo acx como em execução.
AcxStreamStateMaximum
Descreve o Acx Stream State Maximum. Esse valor é usado para validação interna.

Observações

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 coloca o fluxo no estado de Reprodução, 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 De reprodução, 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 se traduzirá em uma chamada no AudioKSE que chamará a camada ACX, que chamará EvtAcxStreamSetRenderPacket no ACXSTREAM ativo. A propriedade incluirá o índice de pacote (baseado em 0) e, se apropriado, um sinalizador EOS com o deslocamento de bytes do final do fluxo no pacote atual.

Durante a remoção e a energia do 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. Esse é o escopo da Instância de Fluxo.

  • Após 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 versões do ACX, consulte visão geral da versão do ACX.

Requisitos

Requisito Valor
cabeçalho acxstreams.h

Consulte também