Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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. Это состояние используется только внутренне; поток перейдет непосредственно из AcxStreamStateStop в AcxStreamStatePause или из AcxStreamStatePause в AcxStreamStateStop. |
AcxStreamStatePauseОписывает состояние потока Acx как приостановленное. |
AcxStreamStateRunОписывает состояние потока Acx как запущенное. |
AcxStreamStateMaximumОписывает максимальное состояние потока Acx. Это значение используется для внутренней проверки. |
Замечания
AcxStream поддерживает различные состояния. Эти состояния указывают, когда поток звука (состояние RUN) или не выполняется (состояние PAUSE или STOP).
После создания потока и выделения соответствующих буферов поток находится в состоянии приостановки ожидания запуска потока. Когда клиент помещает поток в состояние воспроизведения, платформа ACX вызовет все каналы, связанные с потоком, чтобы указать, что состояние потока находится в play. Затем ACXPIN будет помещен в состояние воспроизведения, в котором данные начнут передаваться.
После создания потока и выделения ресурсов приложение вызовет Start в потоке, чтобы начать воспроизведение.
Клиент начинается с предварительного переката буфера. Когда клиент вызывает ReleaseBuffer, это приведет к вызову в AudioKSE, который будет вызываться на уровне ACX, который будет вызывать EvtAcxStreamSetRenderPacket в активном ACXSTREAM. Свойство будет включать индекс пакета (на основе 0) и, если это возможно, флаг EOS со смещением байтов конца потока в текущем пакете.
При отключении и удалении устройства ACX при наличии потоков вызовы ACX SetState вызываются для перехода всех потоков канала на приостановку. Это область действия экземпляра Stream.
- После AcxStreamCreate acxStream находится в состоянии AcxStreamStateStop.
- После успешного возврата AcxAcxStreamPrepareHardware 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 |