Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    vb.net sintetizzatore vocale

    volevo un consiglio su come riuscire a stoppare il processo quando è avviato
    codice:
    Imports System.speech
    Imports System.Speech.recognition
    Imports System.Speech.Synthesis
    codice:
      Dim Synt As New SpeechSynthesizer
            Dim T As Threading.Thread
            If RadioButton1.Checked Then
                Synt.SelectVoice("Paola")
            Else
                Synt.SelectVoice("Roberto")
            End If
    
            If RadioButton3.Checked Then Synt.SelectVoice("ScanSoft Silvia_Dri40_16kHz")
    
            T = New Threading.Thread(AddressOf Synt.SetOutputToDefaultAudioDevice)
            T.Start()
            T.Join()
            Application.DoEvents()
            Synt.Speak(RichTextBox1.Text)
            Synt.Dispose()
    quando l'applicazione stà parlando non ho nessuna possibilità di stopparla se non aspettare che abbia finito di parlare come ovviare a questo problema

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usa la SpeakAsync per avviare la sintetizzazione e la SpeakAsyncCancelAll per bloccarla.

    Esempio, con due pulsanti

    codice:
    Imports System.Speech
    Imports System.Speech.recognition
    Imports System.Speech.Synthesis
    
    Public Class Form1
        Dim Synt As New SpeechSynthesizer
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Synt.SpeakAsync("Essere o non essere questo è il problema")
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Synt.SpeakAsyncCancelAll()
        End Sub
    End Class
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    ciao prof.
    così và decisamente meglio ma non si ferma
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    Synt.SpeakAsyncCancelAll()
    End Sub

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da x69asterix
    così và decisamente meglio ma non si ferma
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    Synt.SpeakAsyncCancelAll()
    End Sub
    Che vuol dire "va meglio ma non si ferma"? Cosa va meglio ?

    Qual e' il codice completo che utilizzi ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    vuol dire che l'applicazione non è bloccata, ma bensì al passaggio del mouse i controlli li posso selezionare, invece con


    codice:
    Public Class Form1
        Dim dlg As New OpenFileDialog
        Dim Synt As New SpeechSynthesizer
    codice:
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    
            If RadioButton1.Checked Then
                Synt.SelectVoice("Paola")
            Else
                Synt.SelectVoice("Roberto")
                Synt.SelectVoice("ScanSoft Silvia_Dri40_16kHz")
            End If
    
            If RadioButton3.Checked Then Synt.SelectVoice("ScanSoft Silvia_Dri40_16kHz")
            Application.DoEvents()
            Synt.SpeakAsync(RichTextBox1.Text)
    
        End Sub
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Synt.SpeakAsyncCancelAll()
        End Sub
    End Class
    non si ferma il parlato

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Vuoi dire che pressando il Button3, dopo che hai pressato il button per l'avvio, il parlato non si ferma?

    A me funziona regolarmente ... prova ESATTAMENTE il codice che ti ho proposto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    oops..
    mi era saltato l' Handles Button3.Click!!

    dato che siamo in tema per il contrario cioè dal comando vocale alla scrittura dove posso trovare qualche esempio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.