snd_ctl_mixer_switch_list()

Получение числа и имен контролирующих переключателей микшера

Прототип:

#include <sys/asoundlib.h>
int snd_ctl_mixer_switch_list( snd_ctl_t *handle,
int dev,
snd_switch_list_t *list );

Аргументы:

handle
Дескриптор соединения с контролирующим устройством, созданный с помощью snd_ctl_open().
dev
Устройство микшера, к которому относятся переключатели.
list
Указатель на структуру snd_switch_list_t, заполняемую информацией о переключателе.

Библиотека:

libasound

Описание:

Функция snd_ctl_mixer_switch_list() использует дескриптор контролирующего устройства (интерфейса) для заполнения структуры snd_switch_list_t информацией о числе переключателей указанного микшера. Также заполняется массив переключателей pswitches размером не более switches_size. Перед вызовом snd_mixer_groups() следует установить следующие поля структуры snd_switch_list_t:

pswitches
Данный указатель должен быть равен NULL или указывать на корректное хранилище для информации о переключателях (например, массив структур snd_switch_list_item_t).
switches_size
Размер хранилища pswitches в виде числа элементов sizeof( snd_switch_list_item_t ) (например, число записей в массиве).

При успешном выполнении функция the snd_ctl_mixer_switch_list() заполняет следующие поля:

switches
Общее число переключателей в микшере.
switches_over
Число переключателей, информация о которых не была скопирована в хранилище.

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

0
Успешное завершение.
-EINVAL
Некорректный аргумент handle.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Предостережения:

Структура переключателя должна быть инициализирована в известное состояние перед вызовом данной функции, Используя memset() следует занулить структуру и затем установить поле name для определения переключателя, который необходимо считать.

Тематические ссылки:

snd_mixer_group_read()

mix_ctl.c




Предыдущий раздел: Библиотека libasound