Vb-съвети 145-154

Съвети за тези, които програмират на Visual Basic (87б)

Андрей Колесов, Олга Павлова

Съвет 87б. Как се играе на WAV-файл

"Аз отдавна се работи в VB и никога не може да знае - как се работи с звукови файлове * .WAV изключение са били използвани Sound Recorder Ако можете -.. HELP"

"Аз питам този въпрос. Както и в VB 4.0 чрез натискане на бутона на мишката opredelsnny играе WAV файл."

Отговор Alekseya Федорова:

Така чрез натискане на бутона на мишката, за да играе WAV-файл, за да играе WAV-файл трябва да се използва стандартната функция на Windows API sndPlaySound, което е в WINMM.DLL система DLL библиотека. Тази функция може да отнеме два параметъра: първата се посочва името на WAV-файл, вторият е флаг, който определя вида на функция, осъществявана:

Лично установено, Функция sndPlaySound _
Lib "winmm.dll" Alias ​​"sndPlaySoundA" _
(ByVal lpszName Както стринга, ByVal dwFlags толкова дълго) _
Докато
"
"Описание на стойностите на dwFlags параметри:

Строителство SND_SYNC = файл H0nbspnbspnbspnbspnbspnbsp "се възпроизвеждат синхронно
nbspnbspnbspnbspnbspnbsp "и функцията не се връща до края на играта

Строителство SND_ASYNC = H1nbspnbsp "Файлът се възпроизвежда асинхронно
nbspnbspnbspnbspnbspnbsp "и функцията връща веднага след
начало на възпроизвеждането nbspnbspnbspnbspnbspnbsp ". С цел да се
nbspnbspnbspnbspnbspnbsp "прекъсване на възпроизвеждането, повикване
nbspnbspnbspnbspnbspnbsp "sndPlaySound функция с името на файла, за да" "

Строителство SND_NODEFAULT = H2 "Указва, че ако файлът
nbspnbspnbspnbspnbspnbsp ", определен от първия параметър не е намерен, той не трябва да
nbspnbspnbspnbspnbspnbsp "играе файла по подразбиране

Строителство SND_MEMORY = H4 "Показва, че името на файла
nbspnbspnbspnbspnbspnbsp "съответства на WAV-файл в паметта,
nbspnbspnbspnbspnbspnbsp "например, заредени от ресурс

Строителство SND_LOOP = H8nbspnbsp "Файлът се възпроизвежда от началото до
nbspnbspnbspnbspnbspnbsp "край на безкраен брой пъти, докато не бъде
nbspnbspnbspnbspnbspnbsp ", причинени функция sndPlaySound с име на файла на" ".
Когато такова възпроизвеждане nbspnbspnbspnbspnbspnbsp ", за да бъдат уточнени и знамето
nbspnbspnbspnbspnbspnbsp "SND_ASYNC

Строителство SND_NOSTOP = функция H10nbspnbsp "връща FALSE, ако
nbspnbspnbspnbspnbspnbsp "по време на разговора вече играе всеки файл

"Съответно, недвижими жалбата
"За да функция sndPlaySound може да изглежда така

nbspResult = sndPlaySound ( "C: \ WAV \ demo.wav", SDN_ASYNC)

Сега още един въпрос - как да се направи файлът се играе, когато щракнете с мишката върху формата? За да направите това, поставете позоваването на sndPlaySound в процес, възникнали от събития:

Под Form_MouseDown (Бутон Като цяло число, _
nbspnbspnbspShift Като цяло число, X като единични, Y като единични)
"
nbspnbspResult = sndPlaySound ( "C: \ WAV \ demo.wav", SDN_ASYNC)
End Sub

В този случай, файлът ще се играе, когато натиснете бутона на мишката върху всяка част от клиент площ на прозореца. За да се разделят тази област на подобласти, всеки от които играе WAV-файл, трябва да се провери на координатите, където е бил натиснат бутона на мишката. Те се предават като параметри MouseDown манипулатор. Ако не се изисква координатите на проверка, можете да използвате едно събитие манипулатор Кликнете.

Едно последно нещо, ако площта на екрана са достатъчно големи, можете да използвате бутоните за да ги направи невидими. В манипулатор, натиснете всеки бутон върху съответния контрол чрез функция sndPlaySound ще доведе до желания WAV-файл.