Создание нового переключателя микшера
#include <audio_driver.h>
ado_dswitch_t * ado_mixer_switch_new( ado_mixer_t *mixer,
char *name,
uint32_t type,
uint32_t subtype,
int32_t (*read)( MIXER_CONTEXT_T *context,
ado_dswitch_t *dswitch,
snd_switch_t *cswitch,
void *instance_data ),
int32_t (*write)( MIXER_CONTEXT_T *context,
ado_dswitch_t *dswitch,
snd_switch_t *cswitch,
void *instance_data ),
void *instance_data,
void (*instance_free)( void *data ) );
- mixer
- Указатель на структуру
ado_mixer_t
, которая определяет микшер, в котором создается элемент. Структура должна быть предварительно создана с помощью ado_mixer_create().
- name
- Имя элемента. Элементы идентифицируются по именам, следует быть осторожными в их выборе; некоторые стандартные имена можно найти в
<asound.h>
.
- type
- Тип переключателя:
- SND_SW_TYPE_BOOLEAN
- SND_SW_TYPE_BYTE
- SND_SW_TYPE_WORD
- SND_SW_TYPE_DWORD
- SND_SW_TYPE_LIST
- subtype
- Дополнительный тип переключателя:
- SND_SW_SUBTYPE_DEC
- SND_SW_SUBTYPE_HEXA
- read()
- Callback-функция для чтения состояния переключателя.
- write()
- Callback-функция для записи состояния переключателя.
- instance_data
- Указатель на экземпляр произвольных данных, которые могут быть считаны и записаны callback-функциями. Это может быть указатель на выделенную память, тогда для ее освобождения применяться функция instance_free().
- instance_free()
- Функция, применяемая для освобождения памяти, выделенной для instance_data.
libado
Функция ado_mixer_switch_new() создает новый переключатель микшера.
 | Переключатель микшера и элемент микшера типа переключатель не одно и тоже: - Элемент микшера типа переключатель
- Используется для таких операций, как отключение звука (mute) и выбор источника захватываемого сигнала.
- Переключатель микшера
- Используются не так часто, но могут использоваться, например для организации "PCM Loopback" интерфейса.
|
Указатель на созданный переключатель.
ЗОСРВ «Нейтрино»
- Нет
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Нет
- В потоке
- Нет
Предыдущий раздел: Библиотека libado