Класс AudioContext
(ru::auroraos::call::AudioContext)
Подключение: | #include <audiocontext.h> |
Публичные типы
enum | Type |
Свойства
- callStateForced : bool
- context : const Type
- defaultContext : Type
- enabled : bool
Публичные функции
AudioContext(CallManager *callManager) | |
virtual | ~AudioContext() |
bool | callStateForced() const |
Type | context() const |
Type | defaultContext() const |
bool | enabled() const |
void | setCallStateForced(bool forced) |
void | setDefaultContext(AudioContext::Type type) |
void | setEnabled(bool enabled) |
Сигналы
void | callStateForcedChanged(bool) |
void | contextChanged(AudioContext::Type) |
void | defaultContextChanged(AudioContext::Type) |
void | enabledChanged(bool) |
Подробное описание
AudioContext — класс-обёртка над функциональностью библиотеки libresourceqt5, созданный для удобства использования. Он подключается к сигналам СallManager и запрашивает ресурс "aliencall" у менеджера ресурсов в момент, когда звонок Call переходит в состояние аудиопотока Call::Active.
Для правильной классификации и маршрутизации аудиопотоков очень важно, чтобы аудиопотоки создавались после получения ресурса "aliencall" от менеджера ресурсов. Необходимо следить за AudioContext::contextChanged и запускать аудиопотоки, когда AudioContext::context становится AudioContext::VoIP . Необходимо остановить аудиопотоки звонков при изменении аудиоконтекста.
После завершения всех вызовов активируется аудиоконтекст по умолчанию. Контекст аудио по умолчанию — AudioContext::Denied, что означает, что аудиоресурсы не захвачены. Можно установить контекст аудио по умолчанию на AudioContext::Player, который является аудиоресурсом 'player' в терминах libresourceqt5.
Описание типов-членов
enum AudioContext::Type
Тип аудиоконтекста.
Константа | Значение | Описание |
---|---|---|
ru::auroraos::call::AudioContext::Denied |
0 |
Аудиоресурсы не получены. |
ru::auroraos::call::AudioContext::Player |
1 |
Ресурс 'player'. Подходит для воспроизведения аудиофайлов. |
ru::auroraos::call::AudioContext::VoIP |
2 |
Ресурс 'aliencall'. Подходит для голосовой связи. |
Описание свойств
callStateForced : bool
Это свойство будет иметь значение true, если форсирован контекст звонка.
Функции доступа:
bool | callStateForced() const |
void | setCallStateForced(bool forced) |
Сигнал уведомления:
void | callStateForcedChanged(bool) |
context : const Type
Это свойство содержит текущий тип аудиоконтекста.
Функции доступа:
Type | context() const |
Сигнал уведомления:
void | contextChanged(AudioContext::Type) |
defaultContext : Type
Это свойство содержит тип аудиоконтекста по умолчанию.
Функции доступа:
Type | defaultContext() const |
void | setDefaultContext(AudioContext::Type type) |
Сигнал уведомления:
void | defaultContextChanged(AudioContext::Type) |
enabled : bool
Это свойство разрешает управление аудиоресурсами.
AudioContext освободит все ресурсы и прекратит взаимодействие с менеджером ресурсов, если
установлено значение false
. Текущий аудиоконтекст будет изменен на
AudioContext::Denied.
Значение по умолчанию — true
.
Функции доступа:
bool | enabled() const |
void | setEnabled(bool enabled) |
Сигнал уведомления:
void | enabledChanged(bool) |
Описание функций-членов
AudioContext::AudioContext(CallManager *callManager)
Создает экземпляр AudioContext.
callManager содержит ссылку на CallManager. Необходимо установить значение nullptr
, если
используется экземпляр AudioContext без менеджера вызовов.
[virtual] AudioContext::~AudioContext()
Уничтожает экземпляр AudioContext.
Любой полученный контекст будет освобожден.