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

另請參閱