ACX_STREAM_STATE-Enumeration (acxstreams.h)

ACX_STREAM_STATE beschreibt die Acx Stream State Flags.

Syntax

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

Konstanten

 
AcxStreamStateStop
Beschreibt, dass acx Stream State beendet wird.
AcxStreamStateAcquire
Beschreibt den Acx-Stream-Zustand, der abgerufen wird. Dieser Zustand wird nur intern verwendet. Der Stream wechselt direkt von AcxStreamStateStop zu AcxStreamStatePause oder von AcxStreamStatePause zu AcxStreamStateStop.
AcxStreamStatePause
Beschreibt den Acx-Stream-Zustand als angehalten.
AcxStreamStateRun
Beschreibt den Acx-Stream-Zustand als ausgeführt.
AcxStreamStateMaximum
Beschreibt das Acx-Stream State Maximum. Dieser Wert wird für die interne Überprüfung verwendet.

Hinweise

Ein AcxStream unterstützt verschiedene Zustände. Diese Zustände geben an, wann Audio fließt (RUN-Zustand) oder nicht fließt (PAUSE- oder STOP-Zustand).

Nachdem der Stream erstellt und die entsprechenden Puffer zugewiesen wurden, befindet sich der Stream im Status Pause und wartet auf den Streamstart. Wenn der Client den Stream in den Wiedergabezustand versetzt, ruft das ACX-Framework alle dem Stream zugeordneten Leitungen auf, um anzugeben, dass sich der Streamstatus in "Wiedergabe" befindet. Der ACXPIN wird dann in den Wiedergabezustand versetzt, an dem die Daten fließen.

Nachdem der Stream erstellt und die Ressourcen zugewiesen wurden, ruft die Anwendung Start für den Stream auf, um die Wiedergabe zu starten.

Der Client beginnt mit dem Vorabrollen eines Puffers. Wenn der Client ReleaseBuffer aufruft, wird dies zu einem Aufruf in AudioKSE übersetzt, der die ACX-Ebene aufruft, die EvtAcxStreamSetRenderPacket für den aktiven ACXSTREAM aufruft. Die Eigenschaft enthält den Paketindex (0-basiert) und ggf. ein EOS-Flag mit dem Byteoffset des Endes des Datenstroms im aktuellen Paket.

Wenn während des Ausschaltens und Entfernens des ACX-Geräts Datenströme vorhanden sind, werden ACX SetState-Rückrufe aufgerufen, um alle Datenströme der Leitung in Pause zu überführen. Dies ist Stream Instanz im Bereich.

  • Nach AcxStreamCreate befindet sich acxStream im AcxStreamStateStop-Zustand.
  • Nachdem EvtAcxStreamPrepareHardware erfolgreich zurückgegeben wurde, befindet sich acxStream im AcxStreamStatePause-Zustand.
  • Nachdem EvtAcxStreamRun erfolgreich zurückgegeben wurde, befindet sich acxStream im AcxStreamStateRun-Zustand.
  • Nachdem EvtAcxStreamPause zurückgegeben wurde, befindet sich acxStream im AcxStreamStatePause-Zustand.
  • Nachdem EvtAcxReleaseHardware zurückgegeben wurde, befindet sich acxStream im AcxStreamStop-Zustand.

Beispiel

Die Verwendungsbeispiele finden Sie unten.

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

ACX-Anforderungen

AcX-Mindestversion: 1.0

Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.

Anforderungen

Anforderung Wert
Header acxstreams.h

Weitere Informationen