Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

WPF: Far parlare il computer con il Text-To-Speech

Windows Presentation Foundation, grazie alle funzionalità fornite dalle librerie DirectX, consente di far "parlare" il computer secondo l'implementazione di Microsoft della tecnologia Text-To-Speech. L'assembly che mette a disposizione le funzionalità di che trattasi si chiama System.Speech.dll.

Vediamolo in azione. In Visual Studio 2005, create un nuovo progetto Windows Application (WPF) nel linguaggio che preferite. Aggiungete, poi, un riferimento all'assembly System.Speech.dll.

Implementiamo un banalissimo pulsante contenente del testo, col seguente XAML:

    <Grid>
      <Button Name="Button1" Width="250" Height="50" Click="Speak">Hello Windows Presentation Foundation!</Button>
    </Grid>

Abbiamo assegnato un identificatore Button1 per interagire col pulsante da codice gestito. Inoltre, quando si farà clic sul pulsante, verrà richiamato il metodo Speak. Passate al file di code-behind. In primo luogo aggiungete una direttiva Imports System.Speech.Synthesis/using System.Speech.Synthesis; e digitate il seguente codice all'interno della classe:

Visual Basic:

    Dim synth As New SpeechSynthesizer

    Private Sub Speak(ByVal sender As Object, ByVal e As RoutedEventArgs)
        synth.Speak(Button1.Content.ToString)
    End Sub

Visual C#:

        SpeechSynthesizer synth = new SpeechSynthesizer();

        private void Speak(object sender, RoutedEventArgs e)
        {
            synth.Speak(Button1.Content.ToString());
        }

La classe SpeechSyntesizer mette a disposizione diversi metodi per la generazione del Text-To-Speech, ma i metodi più importanti sono Speak e SpeakAsync che consentono di far "parlare" il computer passando la stringa specificata. Il secondo metodo effettua l'operazione in modo asincrono. Provate ad avviare l'applicazione e fate clic sul pulsante... magia! Il vostro pc parla... ma tenete conto che il motore di WPF è progettato per la lingua inglese. Per tale motivo il contenuto del pulsante è in lingua anglosassone. In ogni caso, provare non vi costa nulla e avete intanto scoperto un'altra, eccezionale caratteristica di Windows Presentation Foundation. Come si fa a non amare questa tecnologia? :-)

Alessandro

Print | posted on lunedì 8 ottobre 2007 23:36 | Filed Under [ Windows Presentation Foundation ]

Powered by:
Powered By Subtext Powered By ASP.NET