Выбрать главу

Сделаем двойной щелчок по форме. Возникнет заготовка новой процедуры:

Private Sub Form_Load()

End Sub

Ее заголовок можно вольно перевести так: "Что делать, когда загружена форма", а для нас это фактически означает "Что делать, когда запущен проект".

Естественно, в эту процедуру мы записываем наши 4 оператора. Музыка готова. Пока не запускайте проект.

Если вы хотите, чтобы ваше музыкальное сопровождение правильно работало, нужно позаботиться, чтобы звуковой файл после окончания воспроизведения своевременно закрывался командой "Close". В нашем случае других звуковых файлов не используется, поэтому закрытие файла можно отложить на самый последний момент — момент завершения работы проекта. С ним связано событие Form_Terminate. Вот ваши следующие три строки:

Private Sub Form_Terminate()

   Плеер. Command = "Close"

End Sub

Помните, что событие Form_Terminate наступает только тогда, когда мы завершаем работу проекта, щелкнув по крестику в правом верхнем углу формы, а не кнопкой End на панели инструментов.

Проверьте, как работает наша музыка, запустив проект.

Музыка в кнопках

Поставим задачу — сделать так, чтобы при нажатии на калькуляторе каждой из четырех клавиш арифметических действий раздавался какой-нибудь короткий мелодичный звук, причем для каждой клавиши свой. Таких звуков много по адресу C: \Windows\Media. Там они записаны в файлах, имеющих расширение wav. Выберем из них Chime.wav, Notify.wav, Tada.wav и Logoff.wav.

Разместим в проекте еще один элемент Microsoft Multimedia Control 6.0. Дадим ему имя Звук. Его клавиши нам не нужны, нам ни к чему управлять короткими звуками. А раз так, то сделаем объект Звук невидимым. Для этого его свойству Visible придадим значение False.

Устройством для воспроизведения Wav-файлов является WaveAudio. Чем раньше мы объясним это компьютеру, тем лучше. Поэтому поместим соответствующий оператор.

Звук. DeviсеТуре = "WaveAudio"

в процедуру, которая выполняется раньше всех — в Form_Load.

В каждую из четырех процедур кнопок поместим четыре новых оператора следующего вида:

Звук. FileName = "c: \Windows\Media\. wav"

Звук. Command = "Open"

Звук. Command = "Sound"

Звук. Command = "Close"

Пояснения: В нашем случае команда "Sound" имеет то же действие, что и команда "Play", но отличается от нее тем, что задерживает выполнение остальных операторов проекта до тех пор, пока не закончится воспроизведение звукового файла. Вы можете убедиться в этом, когда запустите готовый проект. Пока при помощи команды "Play" воспроизводится длинная мелодия Canyon.mid, вы можете спокойно пользоваться калькулятором, нажимая на кнопки. Когда же при помощи команды "Sound" воспроизводится звук Chimes.wav, весь проект ненадолго "замерзает".

Замечание: Если ваша звуковая карта достаточно хорошего качества, то вы сможете одновременно услышать и Canyon.mid и Wav-файлы.

Вот так будут выглядеть в окне кода ваши процедуры, связанные со звуком:

Private Sub Кл_сложения_Сlick ()

   Звук.FileName = "с: \Windows\Mediа\Chimes.wav"

   Звук.Command = "Open"

   Звук.Command = "Sound"

   Звук.Command = "Close"

   Результат.Text = Val(Число1.Text) + Val(Число2.Text)

End Sub

Private Sub Кл_вычитания_Сliск()

   Звук.FileName = "c: \Windows\Media\Notify.wav"

   Звук.Command = "Open"

   Звук.Command = "Sound"

   Звук.Command = "Close"

   Результат.Text = Val(Число1.Text) — Val(Число2.Text)

End Sub

Private Sub Form_Load()

   Звук.DeviceType = "WaveAudio"

   Плеер.DeviceType = "Sequencer"

   Плеер.FileName = "c: \Windows\Media\Canyon.mid"

   Плеер.Command = "Open"

   Плеер.Command = "Play"

End Sub

Private Sub Form_Terminate()

   Плеер.Command = "Close"

End Sub

Проигрывание аудиодисков

Элемент управления Microsoft Multimedia Control 6.0 можно использовать и для проигрывания из вашего проекта самых обычных некомпьютерных аудио-компакт-дисков. Разместите этот элемент управления на форме, придайте ему имя "CDPlayer". Вставьте диск в дисковод CD-ROM вашего компьютера. Теперь вам достаточно выполнить такую цепочку операторов:

CDPlayer.DeviсеТуре = "CDAudio"

CDPlayer.Command = "Open"

CDPlayer.Command = "Play"

Вы скажете — Я могу это делать и безо всякого Visual Basic. Это верно. Но из Visual Basic это делать интереснее. В элементе Microsoft Multimedia Control 6.0 имеются возможности тонкого управления проигрыванием, которые вы не найдете в стандартных проигрывателях.

Плеер ваших любимых хитов

Если у вас набралось на диске 5–6 любимых звуковых файлов, то вы уже можете создать проект — плеер, в котором будет соответственно 5–6 кнопок с названиями исполняемых произведений. При нажатии кнопки звучит соответствующее произведение.