Мультимедиа для Windows

         

Open


Управляющая строка open посылается перед началом работы для открытия устройства. Эта строка имеет следующий формат:

open device [type device_name] [alias alias] [buffer size] [notify] [wait]

Параметры, указанные в квадратных скобках, необязательные.

В качестве параметра device можно указывать имя драйвера устройства, имя самого устройства или имя звукового файла (можно также указать полный путь к файлу). Так как имя драйвера зависит от устройства, лучше пользоваться именем устройства или именем файла. Для звукового адаптера можно указать устройство waveaudio :

open waveaudio

Это устройство обслуживается драйвером mciwave.drv, входящим в состав операционной системы Windows 3.1. Интерфейс управляющих строк MCI непригоден для работы с драйвером Sound Driver for PC Speaker , поэтому, если в системе установлен только такой драйвер, пользуйтесь функциями MessageBeep или sndPlaySound, рассмотренными нами ранее.

Если при открытии устройства указывается путь к файлу, тип устройства определяется по расширению имени с использованием раздела [mci extensions] файла win.ini:

[mci extensions] wav=waveaudio mid=sequencer rmi=sequencer avi=AVIVideo

Поэтому следующая командная строка приведет к открытию устройства waveaudio:

open c:\wave\bye.wav

Если через параметр device передается имя файла, можно указать тип устройства при помощи параметра type device_name. Например:

open c:\wave\bye.wav type waveaudio

Это позволит использовать имена файлов с нестандартными расширениями. Например, вы можете переименовать файл bye.wav в файл bye.snd, при этом несмотря на то, что в разделе [mci extensions] файла win.ini расширение snd не описано, результат выполнения следующей команды будет правильный:

open c:\wave\bye.snd type waveaudio

Вы можете также указать алиас (альтернативное имя) для работы с устройством, использовав параметр alias:

open c:\wave\bye.wav alias sound

Параметр buffersize size задает размер буфера, который используется драйвером звукового адаптера (в секундах звучания).


Если указан параметр notify, и при передаче строки в последнем параметре функции mciSendString был указан идентификатор окна для оповещения, после того как устройство будет открыто, функция этого окна получит сообщение MM_MCINOTIFY.

С помощью команды open можно открыть устройство не только на воспроизведение, но и на запись. При этом в качестве параметра device нужно указать строку new. Следует также указать алиас. В качестве примера приведем последовательность команд, выполняющих запись:

open new type waveaudio alias nsound wait record nsound

Для остановки записи следует выдать команду stop. Для сохранения записанного фрагмента в wav-файле нужно использовать команду save (команда close закрывает устройство, она будет описана ниже):

stop nsound wait save nsound newsound.wav wait close nsound

Если указан параметр wait, функция mciSendString вернет управление только после завершения операции. Заметим, что параметры notify и wait используются практически со всеми управляющими строками.


Содержание раздела