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 |