Эта програмкка покажет вам как вставить музыку в свои программы. Тут я думаю комментарии излишни так как многие новички , которые пишут программы, особенно игры, хотят вставить в них музыку и звук.Я думаю добавить стоит только то, что эта программа будет использовать ActiveX, который длжен поставляться с VB. Только не забудьте - если вы поставляете программу на другой компьютер ( на котором нет VB )- то вам придется поместить этот ActiveX в ее каталог на том компьютере. И еще - если картинки при компиляции встраиваются в программу, то все остальное - музыка, звук и все такое вам придется также поставлять с программой.


Шаг №1 - Постановка задачи

Наша программа будет при запуске программы проигрывать файл gen.mid, котрый будет находится в каталоге с программой и при его окончании переводить на начало и вновь запускать.

Вам надо усвоить одно свойство VB. Если вы напишете "gen.mid" - в том месте где должно быть имя файла, то VB будет искать его в рабочем каталоге. Если вы запускаете программу непосредственно из VB - не откомпилировав ее, то рабочим каталогом будет или рабочий каталог, или каталог к которому вы в последний раз обращались, например открывая или сохраняя проект. Довольно муторно определять какой каталог будет рабочим, поэтому я советую проверять программу откомпилировав ее, и запустив екзешный файл.

Прежде всего создайте каталог программы, куда вы будете сохранять все файлы этой программы ( в том числе и екзешный файл) и поместите туда midi - файл ( у меня в программе - это gen.mid, но у вас он может быть другой).


Шаг №2 - Визуальная реализация

Для начала вам нужно поместить на форму тот ActiveX , о котором я говорил вам в самом начале. Нажмите в панели объектов на правую кнопку мышки и в выплывающем меню нажмите - Components. Выберите там объект MCIWndX Control и нажмите Ок. Поместите на форму этот элемент и придайте ему размеры которые вам нужны. В поле свойства FileName этого объекта введите - gen.mid. Теперь откомпилируйте программу и запустите ее екзешный файл, Там должно быть примерно такое окно.

Нажмите на кнопку "Play" и прислушайтесь, если вы слышите звук, то поздравляю - половину программы вы уже сделали. Елси - же нет, то может быть несколько причин.

1) Кнопка "Play" - серая ? Это значит что файл midi не найден. Проверьте - есть ли он в каталоге, если есть то проверьте что вы напислали в свойстве FileName

2) У вас выключенны колонки или их вообще нет. Если это так, то если они выключенны - включите их, а если их нет - то тут я ничем не могу помочь

3) Файл mid - испорчен или не содержит ничего. Поменяйте его.

4) У вас на колонках поставлен низкий уровень звука - повысьте его

5) Вы - глухой. Тут я также ничем не могу помочь.

Если все получилось, то сделайте этот элемент невидимым ( нам же надо чтобы музыка включалась без участия пользователя )


Шаг №3 - Программирование в коде

К этому шагу нужно приступать лишь в том случае если у вас все успешно прошло на предыдущем. Впишите в код формы, событие Load :

Mciwnd1.Command = "Play"- просто даем команду элементу Mciwnd1 - проигрывать файл.

В общем - то теперь программа будет при запуске проигрывать музыку. Но при ее окончании она будет замолкать и все. Нам же надо чтобы при окончании музыки программа вновь проигрывала ее сначала.

Войдите в код элемента Mciwnd1 выберите событие PositionChange и там пишите

If Mciwnd1.Position = Mciwnd1.Lenght Then - если текущая позиция "ползунка" равна общей длинне всего файла, то есть файл подошел к концу то ...

Mciwnd1.Position = 0 - Переводим "ползунок"на начало

Mciwnd1.Command = "Play" - даем команду элементу Mciwnd1 - проигрывать файл.

После всего этого у вас должен получиться такой код :

Private Sub Form_Load()
MCIWnd1.Command = "Play"
End Sub

Private Sub MCIWnd1_PositionChange(ByVal Position As Long)
If MCIWnd1.Position = MCIWnd1.Length Then
MCIWnd1.Position = 0
MCIWnd1.Command = "Play"
End If
End Sub

Все!!!


Шаг №4 - Подведение итогов

Откомпилируйте программу и проверьте ее. Если музыка играет и при подходе мелодии к концу переходит на ее начало то я вас поздравляю. Если же нет то вы можете взять (вместе с mid файлом) исходники.

P.S.:Вместо файла mid вы также можете подставить файлы avi и wav