COMmate Frage: Voice
Verfasst: 03.08.2010 11:33
Ich beschäftige mich auch gerade mit COMate um Text gesprochen auszugeben, was auch schon funktioniert.
Mein Problem ist, dass die Stimme mit der der Text gesprochen wird immer Microsoft Anna (Englisch) ist, obwohl ich LH Anna, LH Stefan und ScanSoft Steffi (zu finden unter: http://www.filefront.com/8611922/RSSolo ... Steffi.exe) installiert und in den Windows Spracheinstellungen eingestellt habe.
Bei diesem VB Beispiel zur Auswahl der Stimme stehe ich irgendwie auf dem Schlauch um es in PureBasic umzusetzen.
Hier ein Auszug aus meinem aktuellen Code:
Kann hier jemand helfen?
Mein Problem ist, dass die Stimme mit der der Text gesprochen wird immer Microsoft Anna (Englisch) ist, obwohl ich LH Anna, LH Stefan und ScanSoft Steffi (zu finden unter: http://www.filefront.com/8611922/RSSolo ... Steffi.exe) installiert und in den Windows Spracheinstellungen eingestellt habe.
Bei diesem VB Beispiel zur Auswahl der Stimme stehe ich irgendwie auf dem Schlauch um es in PureBasic umzusetzen.
Code: Alles auswählen
Private V As SpeechLib.SpVoice
Private T As SpeechLib.ISpeechObjectToken
Private Sub Command1_Click()
If List1.ListIndex > -1 Then
'Set voice object to voice name selected in list box
'The new voice speaks its own name
Set V.Voice = V.GetVoices().Item(List1.ListIndex)
V.Speak V.Voice.GetDescription
Else
MsgBox "Please select a voice from the listbox"
End If
End Sub
Private Sub Form_Load()
Dim strVoice As String
Set V = New SpVoice
'Get each token in the collection returned by GetVoices
For Each T In V.GetVoices
strVoice = T.GetDescription 'The token's name
List1.AddItem strVoice 'Add to listbox
Next
End Sub
Code: Alles auswählen
XIncludeFile "COMatePLUS.pbi"
Define.COMateObject objSpeak
objSpeak = COMate_CreateObject( "SAPI.SpVoice" )
If objSpeak
;- ob das wohl richtig ist????? und wenn ja, wie gehts weiter?????
objSpeak\GetObjectProperty( "GetVoices()" )
;- Anzeigen und ändern der Lautstärke geht
Debug objSpeak\GetIntegerProperty( "Volume" )
objSpeak\SetProperty( "Volume = '80'" )
Debug objSpeak\GetIntegerProperty( "Volume" )
;- Dieser Text wird leider nur von Anna gesprochen (Englisch)
objSpeak\Invoke( "Speak('Dieser Text soll in Deutsch gesprochen werden', 0 )" )
objSpeak\Release()
EndIf