Поделиться через


Метод IAudioSessionControl::GetState (audiopolicy.h)

Метод GetState извлекает текущее состояние звукового сеанса.

Синтаксис

HRESULT GetState(
  [out] AudioSessionState *pRetVal
);

Параметры

[out] pRetVal

Указатель на переменную, в которую метод записывает текущее состояние сеанса. Состояние должно быть одним из следующих значений перечисления AudioSessionState :

AudioSessionStateActive

AudioSessionStateInactive

AudioSessionStateExpired

Эти значения указывают, что сеанс находится в активном, неактивном состоянии или истек срок действия соответственно. Дополнительные сведения см. в подразделе "Примечания".

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, помимо прочего, значения, показанные в следующей таблице.

Код возврата Описание
E_POINTER
Параметр pRetVal имеет значение NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Устройство конечной точки аудио отключено, звуковое оборудование или связанные аппаратные ресурсы были перенастроены, отключены, удалены или иным образом недоступны для использования.
AUDCLNT_E_SERVICE_NOT_RUNNING
Служба звука Windows не запущена.

Комментарии

Этот метод указывает, является ли сеанс активным, неактивным или истекшим. Состояние активно, если сеанс содержит один или несколько запущенных потоков. Состояние изменяется с активного на неактивное при остановке последнего запущенного потока в сеансе. Состояние сеанса меняется на истекший, когда клиент уничтожает последний поток в сеансе, освобождая все ссылки на объект потока.

Программа Sndvol отображает элементы управления громкостью и отключением звука для сеансов, которые находятся в активном и неактивном состояниях. По истечении срока действия сеанса Sndvol перестает отображать элементы управления для этого сеанса. Если срок действия сеанса истек ранее, но состояние сеанса меняется на активное (так как начинается запуск потока в сеансе) или неактивное (так как клиент назначает сеансу новый поток), Sndvol возобновляет отображение элементов управления для сеанса.

Клиент создает поток, вызывая метод IAudioClient::Initialize . Во время создания потока клиент назначает поток сеансу. Сеанс начинается, когда клиент назначает сеансу первый поток. Изначально сеанс находится в неактивном состоянии. Состояние сеанса изменяется на активное при запуске первого потока в сеансе. Сеанс завершается, когда клиент освобождает окончательную ссылку на последний оставшийся объект потока в сеансе.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header audiopolicy.h

См. также раздел

IAudioClient::Initialize

Интерфейс IAudioSessionControl

IMMDevice::Activate