acxstreams.) h (ACX_STREAM_STATE 列舉
ACX_STREAM_STATE描述 Acx Stream State 旗標。
Syntax
typedef enum _ACX_STREAM_STATE {
AcxStreamStateStop,
AcxStreamStateAcquire,
AcxStreamStatePause,
AcxStreamStateRun,
AcxStreamStateMaximum
} ACX_STREAM_STATE, *PACX_STREAM_STATE;
常數
AcxStreamStateStop 描述 Acx Stream 狀態已停止。 |
AcxStreamStateAcquire 描述正在取得 Acx Stream State。 此狀態只會在內部使用;數據流會直接從 AcxStreamStateStop 轉換至 AcxStreamStatePause 或從 AcxStreamStatePause 轉換為 AcxStreamStateStop。 |
AcxStreamStatePause 描述已暫停的 Acx Stream State。 |
AcxStreamStateRun 描述 Acx Stream State 為執行狀態。 |
AcxStreamStateMaximum 描述 Acx Stream State Maximum。 此值用於內部驗證。 |
備註
AcxStream 支援不同的狀態。 這些狀態會指出音訊在 (執行狀態) 或未流動 (PAUSE 或 STOP 狀態) 。
建立數據流並配置適當的緩衝區之後,數據流就會處於暫停狀態等候數據流啟動。 當用戶端將串流放入 Play 狀態時,ACX 架構會呼叫與數據流相關聯的所有線路,以指出串流狀態為 Play。 ACXPIN 接著會進入 Play 狀態,此時數據會開始流動。
建立數據流並配置資源之後,應用程式會在串流上呼叫 Start 以開始播放。
用戶端會從預先滾動緩衝區開始。 當用戶端呼叫 ReleaseBuffer 時,這會轉譯為 AudioKSE 中的呼叫,以呼叫 ACX 層,這會在作用中的 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 版本概觀。
規格需求
需求 | 值 |
---|---|
標頭 | acxstreams.h |