ACX_STREAM_STATE-Aufzählung (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 der Acx-Streamstatus beendet wird. |
AcxStreamStateAcquire Beschreibt den Acx-Streamstatus, der erworben wird. Dieser Zustand wird nur intern verwendet; der Stream wechselt direkt von AcxStreamStateStop zu AcxStreamStatePause oder von AcxStreamStatePause zu AcxStreamStateStop. |
AcxStreamStatePause Beschreibt den Acx-Streamstatus als angehalten. |
AcxStreamStateRun Beschreibt den Acx-Streamstatus als ausgeführt. |
AcxStreamStateMaximum Beschreibt den Acx Stream State Maximum. Dieser Wert wird für die interne Überprüfung verwendet. |
Bemerkungen
Ein AcxStream unterstützt unterschiedliche Zustände. Diese Zustände geben an, wann Audio fließt (RUN-Zustand) oder nicht fließt (PAUSE- oder STOP-Zustand).
Nachdem der Datenstrom erstellt und die entsprechenden Puffer zugewiesen wurden, befindet sich der Datenstrom im Status "Pause", auf den der Datenstrom gestartet wird. Wenn der Client den Datenstrom in den Play-Zustand versetzt, ruft das ACX-Framework alle dem Datenstrom zugeordneten Schaltkreise auf, um anzugeben, dass sich der Datenstromzustand in "Play" befindet. Die ACXPIN wird dann im Play-Zustand platziert, an dem Daten fließen.
Sobald der Datenstrom erstellt wurde und die Ressourcen zugeordnet sind, ruft die Anwendung "Start" im Datenstrom auf, um die Wiedergabe zu starten.
Der Client beginnt mit dem Vorabrollen eines Puffers. Wenn der Client ReleaseBuffer aufruft, wird dies in einen Anruf in AudioKSE übersetzt, der in die ACX-Ebene aufruft, wodurch EvtAcxStreamSetRenderPacket für den aktiven ACXSTREAM aufgerufen wird. Die Eigenschaft enthält den Paketindex (0-basiert) und gegebenenfalls ein EOS-Flag mit dem Byte-Offset des Endes des Datenstroms im aktuellen Paket.
Wenn Datenströme vorhanden sind, werden acX SetState-Rückrufe aufgerufen, während acX-Geräte herunter- und entfernt werden, um alle Datenströme des Schaltkreises auf "Anhalten" umzustellen. Dies ist der Bereich "Streaminstanz".
- Nach AcxStreamCreate befindet sich acxStream im AcxStreamStateStop-Zustand.
- Nachdem EvtAcxStreamPrepareHardware erfolgreich zurückgegeben wurde, befindet sich der AcxStream-Zustand im Status "AcxStreamStatePause".
- Nachdem EvtAcxStreamRun erfolgreich zurückgegeben wurde, befindet sich acxStream im AcxStreamStateRun-Zustand.
- Nachdem EvtAcxStreamPause den AcxStream zurückgibt, befindet sich der AcxStreamStatePause-Zustand.
- Nachdem EvtAcxReleaseHardware den AcxStream zurückgibt, befindet sich der AcxStreamStop-Zustand.
Beispiel
Die Beispielverwendung wird unten gezeigt.
ACX_STREAM_STATE m_CurrentState;
...
if (m_CurrentState != AcxStreamStatePause)
{
status = STATUS_INVALID_STATE_TRANSITION;
return status;
}
ACX-Anforderungen
Mindestens ACX-Version: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
Anforderung | Wert |
---|---|
Header- | acxstreams.h |