Rubrik: Multimedia & Sound · Audio | VB-Versionen: VB2008 - VB2015 | 19.02.16 |
Sprachausgabe mit der integrierten Speech-Engine (ab Framework 3.0) Mit der SpeechSynthesizer-Klasse realisieren Sie im Handumdrehen eine einfache Sprachausgabe in Ihrer Anwendung. | ||
Autor: Dieter Otter | Bewertung: | Views: 10.998 |
www.tools4vb.de | System: Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute möchten wir Ihnen zeigen, wie Sie die Microsoft Sprach-Engine (SpeechSynthesizer) in Ihrer eigenen Anwendung nutzen können, um Text über den Computer sprechen zu lassen.
Fügen Sie hierzu dem Projekt den Verweis "System.Speech 3.0.0.0" hinzu.
Danach importieren wir den Namespace wie folgt:
Imports System.Speech.Synthesis
In einer ListBox wollen wir alle verfügbaren "Stimmen" ermitteln und zur Auswahl anzeigen:
' alle verfügbaren Sprachen auflisten Dim syn As New SpeechSynthesizer For Each voice As InstalledVoice In syn.GetInstalledVoices ListBox1.Items.Add(voice.VoiceInfo.Name) Next ListBox1.SelectedIndex = 0
Die Sprachsusgabe erfolgt über die Speak-Methode der SpeechSynthesizer-Klasse. Hier können wir neben der Stimme, auch die Geschwindigkeit und die Lautstärke festlegen.
' Sprachausgabe Dim syn As New SpeechSynthesizer ' Stimme festlegen syn.SelectVoice(ListBox1.SelectedItem.ToString) syn.Rate = 0 ' Geschwindigkeit: -10 bis +10 syn.Volume = 75 ' Lautstärke: 0 bois 100 ' Text sprechen syn.Speak("Hallo, wie geht es Dir?")