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 數據流狀態已停止。 |
AcxStreamStateAcquire 描述正在取得 Acx Stream 狀態。 此狀態只會在內部使用;數據流會直接從 AcxStreamStateStop 轉換為 AcxStreamStatePause,或從 AcxStreamStatePause 轉換為 AcxStreamStateStop。 |
AcxStreamStatePause 描述已暫停的 Acx 數據流狀態。 |
AcxStreamStateRun 描述 Acx 數據流狀態以執行。 |
AcxStreamStateMaximum 描述 Acx 數據流狀態上限。 此值用於內部驗證。 |
言論
AcxStream 支援不同的狀態。 這些狀態表示音訊何時流動(RUN 狀態)或未流動(PAUSE 或 STOP 狀態)。
建立數據流並配置適當的緩衝區之後,數據流就會處於等候數據流啟動的暫停狀態。 當用戶端將數據流放入 Play 狀態時,ACX 架構會呼叫與數據流相關聯的所有線路,以指出串流狀態為 Play。 ACXPIN 接著會置於 Play 狀態,此時數據會開始流動。
建立數據流並配置資源之後,應用程式會在數據流上呼叫 Start 以開始播放。
用戶端會從預先輪替緩衝區開始。 當用戶端呼叫 ReleaseBuffer 時,這會轉譯為 AudioKSE 中的呼叫,該呼叫會呼叫 ACX 層,這會在作用中 ACXSTREAM 上呼叫 EvtAcxStreamSetRenderPacket。 屬性會包含封包索引(以 0 為基礎),如果適當的話,EOS 旗標的位元組位移位於目前封包的數據流結尾。
在 ACX 裝置關閉電源和移除期間,如果串流存在,則會叫用 ACX SetState 回呼,將所有線路的數據流轉換為暫停。 這是串流實例的範圍。
- AcxStreamCreate 之後,AcxStream 會處於 AcxStreamStateStop 狀態。
- EvtAcxStreamPrepareHardware 傳回成功之後,AcxStream 會處於 AcxStreamStatePause 狀態。
- 在 EvtAcxStreamRun 傳回成功之後,AcxStream 會處於 AcxStreamStateRun 狀態。
- EvtAcxStreamPause 傳回之後,AcxStream 將會處於 AcxStreamStatePause 狀態。
- 在 EvtAcxReleaseHardware 傳回 AcxStream 之後,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 |