Поделиться через


Структура AVIFILEINFOA (vfw.h)

Структура AVIFILEINFO содержит глобальную информацию для всего файла AVI.

Синтаксис

typedef struct _AVIFILEINFOA {
  DWORD dwMaxBytesPerSec;
  DWORD dwFlags;
  DWORD dwCaps;
  DWORD dwStreams;
  DWORD dwSuggestedBufferSize;
  DWORD dwWidth;
  DWORD dwHeight;
  DWORD dwScale;
  DWORD dwRate;
  DWORD dwLength;
  DWORD dwEditCount;
  char  szFileType[64];
} AVIFILEINFOA, *LPAVIFILEINFOA;

Члены

dwMaxBytesPerSec

Приблизительная максимальная скорость данных AVI-файла.

dwFlags

Побитовая OR ноль или более флагов. Определены следующие флаги:

Имя Описание
AVIFILEINFO_HASINDEX
В конце файла AVI есть индекс. Для хорошей производительности все файлы AVI должны содержать индекс.
AVIFILEINFO_MUSTUSEINDEX
Индекс файла содержит порядок воспроизведения блоков в файле. Используйте индекс, а не физическое упорядочение блоков при воспроизведении данных. Это можно использовать для создания списка кадров для редактирования.
AVIFILEINFO_ISINTERLEAVED
Файл AVI чередуется.
AVIFILEINFO_WASCAPTUREFILE
AVI-файл — это специально выделенный файл, используемый для записи видео в режиме реального времени. Приложения должны предупреждать пользователя перед записью файла с помощью этого флага, так как пользователь, вероятно, дефрагментировал этот файл.
AVIFILEINFO_COPYRIGHTED
Файл AVI содержит авторские права и программное обеспечение. При использовании этого флага программное обеспечение не должно разрешать дублировать данные.

dwCaps

Флаги возможностей. Определены следующие флаги:

Имя Описание
AVIFILECAPS_CANREAD
Приложение может открыть файл AVI с правами чтения.
AVIFILECAPS_CANWRITE
Приложение может открыть файл AVI с правами записи.
AVIFILECAPS_ALLKEYFRAMES
Каждый кадр в файле AVI является ключевым кадром.
AVIFILECAPS_NOCOMPRESSION
Файл AVI не использует метод сжатия.

dwStreams

Количество потоков в файле. Например, файл со звуком и видео имеет по крайней мере два потока.

dwSuggestedBufferSize

Предлагаемый размер буфера в байтах для чтения файла. Как правило, этот размер должен быть достаточно большим, чтобы содержать самый большой блок в файле. Для чередуемого файла этот размер должен быть достаточно большим, чтобы прочитать всю запись, а не только блок.

Если размер буфера слишком мал или равен нулю, программное обеспечение воспроизведения придется перераспределять память во время воспроизведения, уменьшая производительность.

dwWidth

Ширина в пикселях файла AVI.

dwHeight

Высота в пикселях файла AVI.

dwScale

Шкала времени, применимая ко всему файлу. Разделение dwRate по dwScale дает количество выборок в секунду.

Любой поток может определить собственный масштаб времени для замены шкалы времени файла.

dwRate

Частота в целочисленном формате. Чтобы получить частоту в примерах в секунду, разделите это значение на значение в dwScale.

dwLength

Длина файла AVI. Единицы определяются dwRate и dwScale.

dwEditCount

Количество потоков, которые были добавлены или удалены из файла AVI.

szFileType[64]

Строка, завершающая значение NULL, содержащая описательные сведения для типа файла.

Замечания

Заметка

Заголовок vfw.h определяет AVIFILEINFO как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка vfw.h

См. также

функции и макросы AVIFile

структуры AVIFile