ACX_STREAM_STATE 열거형(acxstreams.h)

ACX_STREAM_STATE Acx Stream 상태 플래그를 설명합니다.

Syntax

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

상수

 
AcxStreamStateStop
Acx Stream 상태가 중지되었음을 설명합니다.
AcxStreamStateAcquire
Acx Stream 상태가 획득되는 것을 설명합니다. 이 상태는 내부적으로만 사용됩니다. 스트림은 AcxStreamStateStop에서 AcxStreamStatePause로 직접 또는 AcxStreamStatePause에서 AcxStreamStateStop으로 직접 전환됩니다.
AcxStreamStatePause
Acx Stream 상태를 일시 중지됨으로 설명합니다.
AcxStreamStateRun
Acx Stream 상태를 실행 중으로 설명합니다.
AcxStreamStateMaximum
Acx Stream 상태 최대값을 설명합니다. 이 값은 내부 유효성 검사에 사용됩니다.

설명

AcxStream은 다양한 상태를 지원합니다. 이러한 상태는 오디오가 흐르는 경우(실행 상태) 또는 흐름되지 않음(PAUSE 또는 STOP 상태)을 나타냅니다.

스트림이 만들어지고 적절한 버퍼가 할당되면 스트림이 스트림 시작을 기다리는 일시 중지 상태에 있습니다. 클라이언트가 스트림을 재생 상태로 전환하면 ACX 프레임워크는 스트림과 연결된 모든 회로를 호출하여 스트림 상태가 재생 중임을 나타냅니다. 그런 다음 ACXPIN은 재생 상태에 배치되며, 이 시점에서 데이터가 흐르기 시작합니다.

스트림이 만들어지고 리소스가 할당되면 애플리케이션은 스트림에서 시작을 호출하여 재생을 시작합니다.

클라이언트는 버퍼를 미리 롤링하여 시작합니다. 클라이언트가 ReleaseBuffer를 호출하면 활성 ACXSTREAM에서 EvtAcxStreamSetRenderPacket을 호출하는 ACX 계층으로 호출되는 AudioKSE의 호출로 변환됩니다. 속성에는 패킷 인덱스(0 기반) 및 적절한 경우 현재 패킷에서 스트림 끝의 바이트 오프셋이 있는 EOS 플래그가 포함됩니다.

ACX 디바이스 전원을 끄고 제거하는 동안 스트림이 있는 경우 ACX SetState 콜백이 호출되어 모든 회로의 스트림을 일시 중지로 전환합니다. 인스턴스 범위가 Stream.

  • AcxStreamCreate 이후 AcxStream은 AcxStreamStateStop 상태입니다.
  • EvtAcxStreamPrepareHardware가 성공적으로 반환되면 AcxStream은 AcxStreamStatePause 상태가 됩니다.
  • EvtAcxStreamRun이 성공적으로 반환되면 AcxStream은 AcxStreamStateRun 상태가 됩니다.
  • EvtAcxStreamPause가 반환된 후 AcxStream은 AcxStreamStatePause 상태가 됩니다.
  • EvtAcxReleaseHardware가 반환되면 AcxStream은 AcxStreamStop 상태가 됩니다.

예제

사용 예제는 다음과 같습니다.

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

ACX 요구 사항

최소 ACX 버전: 1.0

ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.

요구 사항

요구 사항
헤더 acxstreams.h

추가 정보