2011-02-07 3 views
-1
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' не объявлен.

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

ответ

0

Это SpeechVoiceEvents.SVEPhoneme

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

Public vox as New SpVoice 

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

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

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

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

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

+0

Как установить его на 64? ... Как этот 'Dim SVEPhoneme As Integer = 64'? –

 Смежные вопросы

  • Нет связанных вопросов^_^