'СОРА ЗА ФОРМАТА

Dim VObj As Object ' Декларация на обекта, който ще чете

 

' При въвеждане на формата

Private Sub Form_Load()

    Set VObj = CreateObject("SAPI.SpVoice") ' Създаваме SAPI обекта

   For Each Voice In VObj.GetVoices ' За всички открити гласове

       List1.AddItem Voice.GetDescription ' Добавяме ги в List1

   Next

   List1.ListIndex = 0 ' По подразбиране да е на първия индеь в List1

End Sub

 

' При натискане на бутона ЧЕТЕНЕ

Private Sub Command1_Click()

    Set VObj.Voice = VObj.GetVoices.Item(List1.ListIndex) ' Взимаме посочения в List1 глас

    VObj.Volume = HScroll2.Value ' Взимаме посочената в Hscroll2 сила на звука

    VObj.Rate = HScroll1.Value - 3 ' Взимаме посочената в Hscroll1 скорост на звука ( по подразбиране е 0)

    VObj.Speak Text4.Text, 3 ' Прочитаме текста от текстово поле Text4

End Sub

 

'При натискане на бутона ПАУЗА

Private Sub Command2_Click()

    VObj.Pause ' Задействаме метода пауза

End Sub

 

'При натискане на бутона ПРОДЪЛЖИ

Private Sub Command3_Click()

    VObj.Resume ' Продължаваме четенето

End Sub

 

'При натискане на бутона СТОП

Private Sub Command4_Click()

    VObj.Speak " ", 3 ' Подаваме празен стринг за прочитане

End Sub

 

'При натискане на бутона Запис в звуков файл

Private Sub Command5_Click()

    Const SAFT48kHz16BitStereo = 39 ' Константа уточняваща формата на записа

    VObj.Speak " ", 3 ' Спираме, ако до този момент програмата чете

    Set oFileStream = CreateObject("SAPI.SpFileStream") 'Създаваме обект за стриймване

    oFileStream.Format.Type = SAFT48kHz16BitStereo ' Задаваме параметрите за записа

    oFileStream.Open App.Path & "\MyVoice.wav", 3 ' Отваряме съществуващ wav файл

    Set VObj.AudioOutputStream = oFileStream ' Указваме, че изхода трябва да отива към записващия се файл

    Set VObj.Voice = VObj.GetVoices.Item(List1.ListIndex) ' Указваме параметрите на четене

    VObj.Volume = HScroll2.Value

    VObj.Rate = HScroll1.Value - 3

    VObj.Speak Text4.Text

    oFileStream.Close ' Затваряме записвания файл

    MsgBox "Звуковият файл е записан на " & App.Path & "\MyVoice.wav", vbInformation, "Пример за запис звуков файл" ' Съобщение

End Sub

 

' При промяна на плъзгача за скорост на четене

Private Sub HScroll1_Change()

    Label1.Caption = "Скорост: " & HScroll1.Value - 3 ' Визуализираме стойността в Hscrool1

    Command1_Click ' Задействаме бутона за четене

End Sub

 

' При промяна на плъзгача за сила на звука

Private Sub HScroll2_Change()

    Label2.Caption = "Сила на звука: " & HScroll2.Value & "%" ' Визуализираме стойността в Hscrool2

    Command1_Click ' Задействаме бутона за четене

End Sub