ACX_STREAM_STATE枚举 (acxstreams.h)

ACX_STREAM_STATE 描述 Acx 流状态标志。

语法

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 Stream 状态最大值。 此值用于内部验证。

言论

AcxStream 支持不同的状态。 这些状态指示音频何时流动(RUN 状态)或未流动(暂停或停止状态)。

创建流并分配适当的缓冲区后,流处于等待流启动的暂停状态。 当客户端将流置于“播放”状态时,ACX 框架将调用与流关联的所有线路,以指示流状态为“播放”。 然后,ACXPIN 将置于“播放”状态,此时数据将开始流动。

创建流并分配资源后,应用程序将在流上调用“开始”以开始播放。

客户端首先预先滚动缓冲区。 当客户端调用 ReleaseBuffer 时,这将转换为 AudioKSE 中的调用,该调用将调用 ACX 层,这将调用活动 ACXSTREAM 上的 EvtAcxStreamSetRenderPacket。 该属性将包括数据包索引(基于 0),如果适用,则包含当前数据包中流末尾的字节偏移量的 EOS 标志。

在 ACX 设备关闭和删除期间,如果存在流,将调用 ACX SetState 回调以将所有线路的流转换为暂停。 这是流实例的范围。

  • 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

另请参阅