Ошибка в программировании - PullRequest
0 голосов
/ 07 февраля 2011
Imports SpeechLib

Public Class Form1
    Public vox = CreateObject("sapi.spvoice")
    Private Sub cmdSpeak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSpeak.Click
        Dim t As String = "Hello , This is a Text"
        Say(t)
    End Sub

    Public Sub Say(ByVal text As String)
        vox.Speak(text,SpeechVoiceSpeakFlags.SVSFlagsAsync)
    End Sub

    Private Sub cmdPause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPause.Click
        vox.pause()
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        vox.AlertBoundary = SVEPhoneme
    End Sub
End Class

Я получаю сообщение об ошибке

Имя 'SVEPhoneme' не объявлено.

Как и где я могу это объявить?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2011

Это SpeechVoiceEvents.SVEPhoneme

Это все намного проще, если вы сделаете этот код с ранней привязкой:

Public vox as New SpVoice

Или еще лучше, используйте оболочку .NET для sapi,Система. Речь в сборе.

Imports System.Speech.Synthesis

Public Class Form1
    Public vox As New SpeechSynthesizer

    Public Sub Say(ByVal text As String)
        vox.SpeakAsync(text)
    End Sub
End Class
0 голосов
/ 07 февраля 2011

SVEPhoneme представляет событие Phoneme, которое происходит, когда движок завершает фонему во время разговора.

Попробуйте установить SVEPhoneme равным целому числу 64.

http://msdn.microsoft.com/en-us/library/ms720886(v=vs.85).asp

...