共用方式為


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

另請參閱