'СОРС ЗА ФОРМАТА
' При натискане на бутона СТАРТ
Private Sub Command1_Click()
START sFile ' Задействаме функцията за възпроизвеждане на файла sFile
End Sub
' При натискане на бутона ПАУЗА
Private Sub Command2_Click()
PAUZA ' Задействаме процедурата за пауза
End Sub
'При натискане на бутона СТОП
Private Sub Command3_Click()
STOPIRANE ' Задействаме процедурата за спиране
End Sub
'При натискане на бутона СТАРТ
ЗАПИС
Private Sub Command5_Click()
STARTZAPIS ' Задействаме процедурата за запис
Command5.Visible =
False
End Sub
'При натискане на бутона СТОП ЗАПИС
Private Sub Command6_Click()
STOPZAPIS ' Задействаме процедурата за спиране на записа
Text1.Text = sFile
'Показваме пътя на файла в Text1
sFile = Chr(34)
& Text1.Text & Chr(34) 'Слагаме кавички на
пълния път
START sFile ' Задействаме функцията за възпроизвеждане на записания файл
Command5.Visible =
True 'Правим видим бутона ЗАПИС
End Sub
'При натискане на бутона ИЗБОР
Private Sub Command7_Click()
Text1.Text =
IzbranFail 'Показваме пътя на файла в Text1
sFile = Chr(34)
& Text1.Text & Chr(34) 'Слагаме кавички на пълния
път
START sFile ' Задействаме функцията за възпроизвеждане на файла sFile
End Sub
'При извеждане на формата
Private Sub Form_Unload(Cancel As Integer)
STOPIRANE ' Задействаме процедурата за спиране
End Sub
'СОРС ЗА МОДУЛА Player
'Декларираме АПИ функцията за
изпращане на команди към библиотеката на windows winmm.dll
Public Declare Function mciSendString Lib
"winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As
String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal
hwndCallback As Long) As Long
Public sFile As String '
Декларираме променлива в която съхраняваме пътя на файла
Public FlagPauza ' Флаг за
натисната пауза
'Функция за за стартиране на
звуковия файл
Public Function START(ZvukovFail)
If FlagPauza
<> 1 Then Call mciSendString("Close MM", 0, 0, 0) ' Ако не е натисната паузата първо затваряме действащия файл
Call
mciSendString("Open " & ZvukovFail & " Alias MM",
0, 0, 0) ' Отваряме звуковия файл и го подаваме на
winmm.dll
Call
mciSendString("Play MM", 0, 0, 0) ' Подаваме
команда за започване на възпроизвеждането на звука
FlagPauza = 0 ' Нулираме флага за пауза, защото може да е и 1
End Function
' Процедура за паузиране
Public Sub PAUZA()
Call
mciSendString("Pause MM", 0, 0, 0) '
Подаваме команда за ПАУЗА
FlagPauza = 1 ' Променяме флага за ПАУЗА
End Sub
' Процедура за стопиране
Public Sub STOPIRANE()
Call
mciSendString("Close MM", 0, 0, 0) '
Подаваме команда за затваряне на звуковия файл
End Sub
' Процедура за започване на запис
Public Sub STARTZAPIS()
Call
mciSendString("Close MM", 0, 0, 0) '
Затваряме действащия в момента файл
Call
mciSendString("open new type waveaudio alias capture", 0, 0, 0) ' Отваряме нов файл
' Подаваме параметри за запис на файла, който ще записваме
Call
mciSendString("set capture bitspersample 16", 0, 0, 0)
Call mciSendString("set
capture samplespersec 47999", 0, 0, 0)
Call
mciSendString("set capture channels 2", 0, 0, 0)
Call
mciSendString("record capture overwrite", 0, 0, 0) ' Подаваме команда за ЗАПИС
End Sub
' Процедура за спиране на записа
Public Sub STOPZAPIS()
Call
mciSendString("stop capture", 0, 0, 0) '
Подаваме команда за спиране на записа
sFile = ImeZaZapis
' Задействаме функция, която да отвори диалогова форма
за избор на място и име на новия файл
Call
mciSendString("save capture " + """" + sFile +
"""", 0, 0, 0) ' Записваме новия
файл
Call
mciSendString("close capture", 0, 0, 0) '
Затваряме записвания файл
Call
mciSendString("Close MM", 0, 0, 0) '
Подаваме команда за затваряне на файла към winmm.dll
End Sub
' Функция за избор на файл за
отваряне
Public Function IzbranFail()
Set objDialog =
CreateObject("MSComDlg.CommonDialog") '
objDialog.ShowOpen
If
Len(objDialog.FileName) > 1 Then
IzbranFail =
objDialog.FileName
End If
End Function
' Функция за избор на място за
запис на файла при записване
Public Function ImeZaZapis()
Set IzborZaZapis =
CreateObject("MSComDlg.CommonDialog")
IzborZaZapis.FileName = "proba.wav"
IzborZaZapis.ShowSave
ImeZaZapis =
IzborZaZapis.FileName
End Function