перечисление ACX_STREAM_STATE (acxstreams.h)

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

См. также

  • заголовка acxstreams.h