
- •История развития мультимедиа.
- •Понятие «мультимедиа»
- •Составляющие мультимедиа
- •1.История развития мультимедиа .
- •2. Понятие «мультимедиа»
- •3. Составляющие мультимедиа
- •Лекция 2.Управление мультимедиа с помощью mci – Media Control Interface (6 часов)
- •2. Использование mci-команд в программах
- •3. Синтаксис командной строки mci
- •4. Использование параметра wait
- •5. Использование параметра notify
- •6. Команды mci
- •2. Гипертекст и его краткая история
- •3. Основы языка гипертекстов html. Понятие об html
- •4. Форматирование текста
- •5. Списки и таблицы
- •6. Форматирование рисунков
- •2. Понятие растровой и векторной графики
- •3. Растровые рисунки
- •4. Векторные рисунки
- •5. Цветные изображения
- •2. Оцифровка аналогового сигнала. Общие положения
- •3. Дискретизация
- •4. Квантование
- •2. Краткая информация об аналоговом видео
- •3. Краткая информация о цифровом видео
- •3. Форматы сохранения видеоинформации
- •2. Методы сжатия данных
- •3. Кодирование без потерь
- •4. Кодирование изображений с потерями
- •5. Технологии сжатия видео
- •История анимации
- •Методы анимации
- •1. История анимации
- •2. Методы анимации
- •2. Форматы анимационных файлов (флики)
- •3. Программы для создания и просмотра анимаций
- •Лекция 10. 3 d графика и анимация (4 часа)
- •2. Стадия рендеринга
- •3. Описание объекта
- •Мультимедиа-компьютер
- •Дисплеи
- •Акустическая система
- •2. Дисплеи
- •3. Акустическая система
2. Использование mci-команд в программах
Программы, использующие MCI, посылают драйверам команды с помощью функций mciSendString и mciSendCommand из стандартной библиотеки Mmsystem.dll (папка Windows\System). Первая из них посылает команду в виде текстовой строки, а вторая – в виде стандартных констант и структур данных, которые предварительно нужно заполнить. Ввиду большей простоты рассмотрим только первый способ.
Прототип функции mciSendString на языке С имеет вид:
DWORD mciSendString(LPSTR lpstrComand,
LPSTR lpstrReturnString,
UINT wReturnLength,
HWND hwndCallback)
Первый параметр обязателен – это сама командная строка. Остальные необязательны. Они определяют буфер, куда посылается ответ, его длину и окно для посылки сообщения (notify) программе от устройства. Сама функция при успешном выполнении команды возвращает 0, а в случае ошибки – отрицательное значение. Это значение можно передать в качестве первого параметра функции mciGetErrorString (из той же библиотеки Mmsystem.dll) – функция возвратит текстовое описание ошибки:
UINT mciGetErrorString(DWORD dwError,
LPSTR lpstrBuffer,
UINT wLength)
Для уточнения подробностей нужно в [Windows 3.1 Multimedia Reference] выбрать ссылку Function Overview, затем ссылку Media Control Interface services и, наконец, ссылку Communicating with MCI Devices.
Но не только в языке С можно использовать команды MCI. Ниже мы будем рассматривать авторские системы, в которых также используются эти команды. Они позволяют очень гибко управлять воспроизведением и записью мультимедийных данных. Например, в системе Toolbook для этого используется функция callMCI.
Работа программы с устройством начинается с его открытия командой open и заканчивается закрытием командой close. Незакрытое устройство не может быть открыто ещё раз, если оно не было объявлено обоими командами open как разделяемое (shareable). Приведем примеры последовательностей MCI-команд в основном командном потоке.
Проигрывание CD-Audio:
open cdaudio
...
set cdaudio time format tmsf
... -- tmsf - дорожка:минута:секунда:кадр
play cdaudio from 1:00:00 to 3:00:00 wait
... -- играть дорожки с 1 по 3
pause cdaudio
close cdaudio
-- для CD-Audio только pause прекращает проигрывание.
Проигрывание MIDI-файла:
open c:\windows\media\Passport.mid type sequencer alias s
...
set s time format ms -- ms - миллисекунда
...
play s from 0 to 10000 wait -- играть первые 10 секунд
...
close s
Проигрывание Wav-файла:
open c:\windows\media\Tada.wav type waveaudio alias s
...
play s from 0
... -- ожидание события, означающего "конец проигрывания"
close s
Запись Wav-файла:
open new type waveaudio alias s
...
record s
... -- ожидание события, означающего "конец записи"
save s c:\windows\temp\haha.wav
close s
3. Синтаксис командной строки mci
Командная строка имеет вид
команда указатель-устройства параметры
где
команда – это название команды, например open, play, close;
указатель-устройства – это
тип устройства – для любой команды простого устройства, например cdaudio
путь и имя файла в команде для сложного устройства, например c:\windows\media\Tada.wav; в любой команде, кроме open может быть заменен псевдонимом (это, как правило, и происходит)
псевдоним, установленный параметром alias предшествующей команды open, например s
слово new в команде open при открытии устройства на запись (звука или видео)
слово all – для посылки команды всем открытым в данной программе устройствам (можно применять только к командам, не возвращающим информацию), например, close all.
параметры – это (возможно пустая) последовательность параметров, разделённых пробелом, в которой каждый параметр – это непустая последовательность ключевых слов и значений, разделённых пробелами, например, time format tmsf, или type waveaudio, или from 0, или c:\windows\temp\haha.wav в команде save.
Параметры записываются в произвольном порядке, могут быть обязательными и необязательными. Их набор определяется командой, но два параметра являются общими для всех команд (и необязательными) – это wait и notify.