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 |