ado_mixer_element_volume1()

Создание элемента регулятор громкости (тип 1)

Прототип:

#include <audio_driver.h>
ado_mixer_delement_t * ado_mixer_element_volume1( ado_mixer_t *mixer,
char *name,
uint32_t number_of_voices,
struct snd_mixer_element_volume1_range *ranges,
ado_mixer_delement_control_volume1_t *control,
void *instance_data,
void (*instance_free)( void *data ) );

Аргументы:

mixer
Указатель на структуру ado_mixer_t, которая определяет микшер, в котором создается элемент. Структура должна быть предварительно создана с помощью ado_mixer_create().
name
Имя элемента. Элементы идентифицируются по именам, следует быть осторожными в их выборе; некоторые стандартные имена можно найти в <asound.h>.
number_of_voices
Число индивидуальных (по числу голосов в канале) регуляторов усиления звука в элементе.
ranges
Диапазоны изменения усилений на каждый регулятор. Структура snd_mixer_element_volume1_range определена как:
typedef struct snd_mixer_element_volume1_range {
int32_t min;
int32_t max;
int32_t min_dB;
int32_t max_dB;
uint8_t reserved[128]; /* must be filled with zero */
} snd_mixer_element_volume1_range_t;
control
Callback-функция типа ado_mixer_delement_control_volume1_t, которая контролирует степень усиления аналогового сигнала, проходящего через элемент:
int32_t control( MIXER_CONTEXT_T *context,
ado_mixer_delement_t *element,
uint8_t set,
uint32_t *volumes,
void *instance_data );
instance_data
Указатель на экземпляр произвольных данных, которые будут переданы в callback-функцию. Это может быть указатель на выделенную память, тогда для ее освобождения применяться функция instance_free(). Для доступа к этим данным может применяться вызов ado_mixer_get_element_instance_data(), поскольку тип ado_mixer_delement_t является прозрачным для драйвера.
instance_free()
Функция, применяемая для освобождения памяти, выделенной для instance_data.

Библиотека:

libado

Описание:

Функция ado_mixer_element_volume1() автоматизирует создание элемента регулятора громкости (тип 1).

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

Указатель на созданный элемент.

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

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

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

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

ado_mixer_element_vol_range_max(), ado_mixer_element_vol_range_min(), ado_mixer_get_element_instance_data()




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