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 |