Управление средствами мультимедиа из MS-DOS программ

Мы не будем описывать здесь программирование плат звука на нижнем уровне. Оно необходимо для создания программ, подобных описанным выше. Естественно, что разработка таких программ требует высочайшей квалификации программистов и не под силу рядовым пользователям ПК. Но и сама целесообразность создания таких программ сейчас весьма сомнительна, поскольку их уже создано великое множество. Для большинства пользователей важнее научиться обращаться к таким программам прямо из своих программ, написанных на популярных языках программирования - от Qbasic до C++.
Практически все языки программирования имеют средства для общения с внешними программами. К примеру, на QBasic таким средством является оператор SHELL Имя_файла. Он просто дает выход в MS-DOS, исполняет файл с указанным именем и возвращается в головную Qbasic-программу. Имя надо задавать по правилам MS-DOS, т.е. в общем случае с указанием пути доступа к файлу. Это не нужно, если все файлы имеются в одном каталоге с программой. В состав имени могут входить параметры и ключи, определяющие характер работы исполняемого файла.
Зададимся целью создать программу, которая: просит пользователя загрузить лазерный аудиодиск в CD-ROM, выводит изображение прогрывателя таких дисков, позволяет пустить его в фоновом режиме, исполняет 10 секунд музыку с малой громкостью, затем 10 секунд исполняет музыку с большой громкостью, затем позволяет (с диалогом) записать ваш голос на фоне музыки и, наконец, прекращает работу, подав сигнал на выброс (Eject) кассеты с диском из проигрывателя.
Если вы внимательно прочитали назначение программ управления CD-ROM и платой звука, описанных выше, то приведенная ниже программа не потребует других комментариев, кроме тех, что в ней есть:

CLS
PRINT "Insert compact disk, press any key,"
PRINT "run CD-Player and set Power (off)"
F$ = INPUT$(1)
SHELL "C:\MCPRO\mcpsvol /C:5" 'Set CD-volume (level 5)
SHELL "C:\CDROM\gsaudio.exe" 'Run CD-player
CLS : PRINT "10 Seconds Play Small Sound!"
SLEEP 10
SHELL "C:\MCPRO\mcpsvol /C:12" 'Set CD-volume (level 12)
CLS : PRINT "10 Second Play Big Sound!"
SLEEP 10
CLS : PRINT "For setting Mixer"
PRINT "press any key"
F$ = INPUT$(1)
SHELL "C:\MCPRO\mcp-mix" 'Set Mixer Program
SHELL 'Exit in MS-DOS
SHELL "C:\MCPRO\mcp-mix -f" 'To remote from memory
CLS : PRINT "For save sound from microphon press any key!"
PRINT "After saving (no more 25-30 secons) press key Esc"
KILL "demo.wav" 'Kill file demo.wav
F$ = INPUT$(1)
SHELL "C:\MCPRO\mcprecw demo.wav" 'Record sound
SHELL "C:\CDROM\eject.exe" 'Eject compact disk
PRINT "Press any key for playing record"
F$ = INPUT$(1)
SHELL "C:\MCPRO\mcpplayw demo.wav" 'Play sound
CLS : PRINT "Press any key for end session!"

При работе с этой программой надо следовать не только комментариям, заданным в ней, но и тем, которые использованы в других программных средствах. К примеру, после выхода в MS-DOS для работы с микшером, после установки уровней звучания речи и фоновой музыки, нужно дать команду EXIT для возврата в программу. Это и есть зачатки интерактивного управление.
Итак, мы рассмотрели работу с наиболее распространенными прикладными программами для звуковых приложений мультимедиа, ориентированными на MS-DOS. Еще большие возможности, в том числе связанные с видеоприложениями, открываются при использовании средств мультимедиа в графической оболочке Microsoft Windows. Однако это тема уже для других статей.