ACX_STREAM_STATE 列挙 (acxstreams.h)
ACX_STREAM_STATEでは、Acx Stream状態フラグについて説明します。
構文
typedef enum _ACX_STREAM_STATE {
AcxStreamStateStop,
AcxStreamStateAcquire,
AcxStreamStatePause,
AcxStreamStateRun,
AcxStreamStateMaximum
} ACX_STREAM_STATE, *PACX_STREAM_STATE;
定数
AcxStreamStateStop Acx Stream State is stopped について説明します。 |
AcxStreamStateAcquire 取得中の Acx Stream State について説明します。 この状態は内部でのみ使用されます。ストリームは、AcxStreamStateStop から AcxStreamStatePause に直接、または AcxStreamStatePause から AcxStreamStateStop に直接遷移します。 |
AcxStreamStatePause Acx Stream State を一時停止として記述します。 |
AcxStreamStateRun Acx Stream State を実行中として記述します。 |
AcxStreamStateMaximum Acx Stream State Maximum について説明します。 この値は、内部検証に使用されます。 |
注釈
AcxStream では、さまざまな状態がサポートされます。 これらの状態は、オーディオがいつ流れているか (RUN 状態)、またはフローしていない (PAUSE または STOP 状態) を示します。
ストリームが作成され、適切なバッファーが割り当てられると、ストリームはストリームの開始を待機している一時停止状態になります。 クライアントがストリームを Play 状態にすると、ACX フレームワークはストリームに関連付けられているすべての回線を呼び出して、ストリームの状態が Play であることを示します。 その後、ACXPIN は再生状態になり、その時点でデータのフローが開始されます。
ストリームが作成され、リソースが割り当てられると、アプリケーションはストリームで Start を呼び出して再生を開始します。
クライアントは、バッファーを事前にローリングすることから開始されます。 クライアントが ReleaseBuffer を呼び出すと、これは ACX レイヤーを呼び出す AudioKSE の呼び出しに変換されます。これにより、アクティブな ACXSTREAM で EvtAcxStreamSetRenderPacket が呼び出されます。 プロパティには、パケット インデックス (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 バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxstreams.h |