ACX_STREAM_STATE 枚举 (acxstreams.h)
ACX_STREAM_STATE介绍了 Acx Stream State 标志。
语法
typedef enum _ACX_STREAM_STATE {
AcxStreamStateStop,
AcxStreamStateAcquire,
AcxStreamStatePause,
AcxStreamStateRun,
AcxStreamStateMaximum
} ACX_STREAM_STATE, *PACX_STREAM_STATE;
常量
AcxStreamStateStop 描述 Acx Stream状态已停止。 |
AcxStreamStateAcquire 描述正在获取的 Acx Stream状态。 此状态仅在内部使用;流将直接从 AcxStreamStateStop 转换到 AcxStreamStatePause 或从 AcxStreamStatePause 转换到 AcxStreamStateStop。 |
AcxStreamStatePause 将 Acx Stream状态描述为暂停状态。 |
AcxStreamStateRun 将 Acx Stream状态描述为正在运行。 |
AcxStreamStateMaximum 描述 Acx Stream状态最大值。 此值用于内部验证。 |
注解
AcxStream 支持不同的状态。 这些状态指示音频何时 (运行状态) 或未流动 (PAUSE 或 STOP 状态) 。
创建流并分配相应的缓冲区后,流将处于暂停状态,等待流启动。 当客户端将流置于“播放”状态时,ACX 框架将调用与流关联的所有线路,以指示流状态为“播放”。 然后,ACXPIN 将置于“播放”状态,此时数据将开始流动。
创建流并分配资源后,应用程序将对流调用 Start 以开始播放。
客户端首先预滚动缓冲区。 当客户端调用 ReleaseBuffer 时,这将转换为 AudioKSE 中的调用,该调用将调用 ACX 层,该层将在活动 ACXSTREAM 上调用 EvtAcxStreamSetRenderPacket。 属性将包括数据包索引 (从 0 开始的) ,以及一个 EOS 标志(如果适用),其中包含当前数据包中流结束的字节偏移量。
在 ACX 设备关闭和移除期间,如果存在流,则会调用 ACX SetState 回调以将所有线路的流转换为 Pause。 这是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 版本概述。
要求
要求 | 值 |
---|---|
Header | acxstreams.h |