Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

Acmformattagdetails

typedef struct {

DWORD cbStruct;

DWORD dwFormatTagIndex;

DWORD dwFormatTag;

DWORD cbFormatSize;

DWORD fdwSupport;

DWORD cStandardFormats;

char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];

} ACMFORMATTAGDETAILS;

Переменные

  1. cbStruct — размер в байтах объекта структуры ACMFORMATTAGDETAILS. Данная переменная должна быть инициализирована перед вызовом функций acmFormatTagDetails и acmFormatTagEnum. Размер, указанный в этой переменной должен быть достаточно большим, чтобы содержать базовую структуру ACMFORMATTAGDETAILS. При выходе из функции acmFormatTagDetails в данной переменной содержится действительный размер возвращаемой информации. Размер возвращаемой информации никогда не превышает передаваемый в данной переменной размер.

  2. dwFormatTagIndex — индекс типа формата, параметры которого определяются. Индекс может принимать любое значение от нуля до величины, на единицу меньшей числа типов форматов, поддерживаемых драйвером ACM. Число типов форматов, поддерживаемых драйвером, содержится в переменной cFormatTags структуры ACMDRIVERDETAILS. Переменная dwFormatTagIndex используется только при запросе информации по типам фильтрам, во всех остальных случаях данная переменная должна иметь нулевое значение.

  3. dwFormatTag — идентификатор типа аудио формата, характеристики которого содержатся в данном объекте структуры ACMFORMATTAGDETAILS. Значение этой переменной должно быть инициализировано перед использованием флагов ACM_FORMATTAGDETAILSF_FORMATTAG и ACM_FORMATTAGDETAILSF_LARGESTSIZE. Для всех остальных флагов эта переменная должна содержать значение WAVE_FORMAT_UNKNOWN. Если функция acmFormatTagDetails успешно завершает свою работу, эта переменная всегда содержит корректное значение.

  4. cbFilterSize — максимальный размер в байтах аудио формата типа dwFilterTag. Например, эта переменная имеет значение 16 для типа WAVE_FORMAT_PCM и значение 50 для типа WAVE_FORMAT_ADPCM.

  5. fdwSupport — флаги поддержки драйверов, различные для различных фильтров. Эти флаги совпадают с флагами, определёнными для переменной fdwSupport в объекте структуры ACMDRIVERDETAILS. Определены следующие значения флагов:

  • ACMDRIVERDETAILS_SUPPORTF_ASYNC — драйвер допускает асинхронное преобразование.

  • ACMDRIVERDETAILS_SUPPORTF_CODEC — драйвер допускает преобразование между двумя различными типами представления данных. Например, этот флаг устанавливается в том случае, когда драйвер допускает преобразование формата WAVE_FORMAT_PCM в формат WAVE_FORMAT_ADPCM.

  • ACMDRIVERDETAILS_SUPPORTF_CONVERTER — драйвер допускает преобразование между двумя различными форматами одного типа представления данных. Например, этот флаг устанавливается в том случае, когда драйвер допускает изменение частоты дискретизации в формате WAVE_FORMAT_PCM.

  • ACMDRIVERDETAILS_SUPPORTF_FILTER — драйвер допускает использование фильтра (изменение данных при сохранении формата их представления). Например, этот флаг устанавливается в том случае, когда драйвер допускает изменение уровня воспроизведения и добавление эха в формате WAVE_FORMAT_PCM.

  • ACMDRIVERDETAILS_SUPPORTF_HARDWARE — драйвер позволяет производить аппаратный ввод, вывод или одновременный ввод и вывод через аудио устройство. Для получения идентификаторов устройств, связанных с поддерживаемым драйвером ACM приложение должно вызвать функцию acmMetrics с индексами метрики ACM_METRIC_HARDWARE_WAVE_INPUT и ACM_METRIC_HARDWARE_WAVE_OUTPUT.

  1. cStandardFormats — число стандартных форматов типа dwFormatTag, то есть число всех возможных комбинаций частот дискретизации, количество бит на отсчёт, числа каналов и т.д. Эта величина может определять число форматов, поддерживаемые данным драйвером, но не обязательно (возможны, например нестандартные значения частот дискретизации).

  2. szFormatTag — заканчивающаяся нулём строка, содержащая описание типа формата dwFilterTag. Если функция acmFormatTagDetails успешно завершает свою работу, эта переменная всегда содержит корректное значение.

Примечание

Объект структуры ACMFORMATTAGDETAILS используется для передачи и хранения информации о характеристиках типа аудио формата для драйвера ACM.

Описание данной структуры содержится в файле заголовка msacm.h. При работе с данным интерфейсом следует включить в проект библиотеку msacm32.lib.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]