перечисление 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 Описывает состояние Stream Acx как приостановленное. |
AcxStreamStateRun Описывает состояние Stream Acx как выполняющийся. |
AcxStreamStateMaximum Описывает максимальное Stream состояния Acx. Это значение используется для внутренней проверки. |
Комментарии
AcxStream поддерживает различные состояния. Эти состояния указывают, когда происходит поток звука (состояние ВЫПОЛНЕНИЯ) или не выполняется (состояние PAUSE или STOP).
После создания потока и выделения соответствующих буферов поток находится в состоянии Приостановка в ожидании запуска потока. Когда клиент переводит поток в состояние воспроизведения, платформа ACX вызовет все каналы, связанные с потоком, чтобы указать, что поток находится в состоянии воспроизведения. Затем ACXPIN будет помещен в состояние Воспроизведения, после чего начнется поток данных.
После создания потока и выделения ресурсов приложение вызовет start в потоке, чтобы начать воспроизведение.
Клиент начинается с предварительного наката буфера. Когда клиент вызывает ReleaseBuffer, это преобразуется в вызов в AudioKSE, который вызовет уровень ACX, который вызовет EvtAcxStreamSetRenderPacket для активного ACXSTREAM. Свойство будет включать индекс пакета (на основе 0) и, при необходимости, флаг EOS со смещением байтов конца потока в текущем пакете.
При отключении питания и удалении устройства ACX при наличии потоков вызываются обратные вызовы SETState ACX, чтобы перевести все потоки канала в режим Приостановка. Это 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 |