356______________________________________________Глава 5

они представляют, а файлы второго типа хранят сырые данные, просто посылае-
мые на выходное устройство.

Волновые и MIDI файлы могут хранить только звук или музыку. Для хране-
ния видео информации разработан ряд форматов. Отметим среди них файлы AVI и
MPEG. Большинство видеофайлов поддерживают также хранение звуковой дорож-
ки, так что звук воспроизводится синхронно с картинкой.

Что собой представляет видеофайл, и как он работает? Человеческий мозг ин-
терпретирует быструю последовательность изображений, незначительно отличаю-
щихся друг от друга, как движение. Каждое из этих изображений называется кад-
ром. Каждый следующий кадр несколько отличен от предыдущего. Чтобы мозг
воспринимал смену кадров как плавное движение, желательно воспроизводить
около 30 кадров в секунду. Более высокая частота не приводит к заметному росту
качества, а более низкая производит впечатление мерцания экрана.

Если бы каждый кадр хранился в файле в виде битовой матрицы экрана (а это
несколько сотен килобайт), то потребовался бы огромный объем дисковой памяти.
При такой простой схеме хранения на компакт-диск, например, можно было бы
записать всего 72 секунды видеофильма. Реально для хранения видеофильмов ис-
пользуется техника сжатия видеоданных.

Если не углубляться в сложную математику методов сжатия, то суть сводится
к следующему. Когда захватывается очередной кадр, аппаратура или программа
сжатия задается вопросом: «Можно ли сохранить этот кадр более компактно, если
записать только то, что в нем отличается от предыдущего, или нужно сохранить
картинку целиком?» Чаще всего выгодно сохранять только изменившиеся части
сцены. Но в определенных обстоятельствах, например, при переключении на дру-
гую камеру, накладные расходы описания изменений заняли бы больше места,
чем непосредственное сохранение кадра.

В методах хранения мультимедиа достигнуты большие успехи. Сейчас можно
записать целый полнометражный кинофильм на стандартном CD-ROM.

5.2.1.2 Процедуры воспроизведения звуков Веер, MessageBeep
и PlaySound

Наиболее простой процедурой, управляющей звуком, является процедура
Веер. Она не имеет параметров и воспроизводит стандартный звуковой сигнал,
установленный в Windows, если компьютер имеет звуковую карту и стандартный
сигнал задан (он устанавливается в программе Windows «Панель управления» по-
сле щелчка на пиктограмме Звук). Если звуковой карты нет или стандартный сиг-
нал не установлен, звук воспроизводится через динамик компьютера просто в виде
короткого щелчка.

Откройте новое приложение, введите в него кнопку, в обработчике щелчка ко-
торой напишите одно слово:

Веер() ;

Можете запустить приложение, щелкнуть на кнопке и прослушать стандарт-
ный звук Windows или просто щелчок, если стандартный звук не установлен.
Более серьезной процедурой является функция Windows API MessageBeep:

bool MessageBeep(int uType) ;

Параметр uType указывает воспроизводимый звук как идентификатор разде-
ла [sounds] реестра, в котором записаны звуки, сопровождающие те или иные со-
бытия в Windows. С помощью приложения Звук в «Контрольной панели» пользова-
тель может удалить или установит соответствующие звуки.

Параметр uType может иметь следующие значения: