Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - DirectSR e vb6
Forum - Visual Basic 6 - DirectSR e vb6

Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 18:21
Mercoledì, 01/10/2008
salve.finito il programma per mio figlio per gestire un database di permessi per dipendenti,adesso sono in un altro guaio.dovrei gestire una periferica per comandare vocalmente dei dispositivi sulla seriale.la gestione dei dispositivi seriali le ho gia pronti.leggendo diversi testi in sangoogle ed documenti microsoft ufficiali su il riconoscimento vocale ancora sono in alto mare.ho creato un codice di prova e niente.
Codigo di prova :
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2.  
  3. Dim FlagAttivo As Boolean
  4.  
  5. Private Sub Form_Load()
  6. FlagAttivo = False
  7. vcrRecognition.GrammarFromString "[Grammar]" + vbNewLine + "type=cfg" + vbNewLine + "[<Start>]" + vbNewLine + "<start>=Prueva" + vbNewLine
  8. 'vcrRecognition.Listen
  9. End Sub
  10.  
  11. Private Sub btAbilita_Click()
  12. Select Case FlagAttivo
  13.        Case True
  14.             FlagAttivo = False
  15.             vcrRecognition.Deactivate
  16.             lblStatus.Caption = "Chiuso"
  17.        Case False
  18.             FlagAttivo = True
  19.             vcrRecognition.Activate
  20.             lblStatus.Caption = "In ascolto"
  21. End Select
  22. End Sub
  23.  
  24. Private Sub vcrRecognition_PhraseFinish(ByVal flags As Long, ByVal beginhi As Long, ByVal beginlo As Long, ByVal endhi As Long, ByVal endlo As Long, ByVal Phrase As String, ByVal parsed As String, ByVal results As Long)
  25. Select Case Phrase
  26.        Case "Prueva"
  27.             spkSpeak.Speak "Prueva"
  28.        Case Else
  29.             spkSpeak.Speak "Cioè?"
  30. End Select
  31. End Sub


premesso che ho abilitato i componenti MS Direct Speech Recognition ed MS Direct Text-To-Speech.
il secondo funge in modo egreggio.il primo al attivare il comando non passa alla propietà _PhraseFinish.quindi?????

Ultima modifica effettuata da alejandro il 01/10/2008 alle 18:23
PM Quote
Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 10:32
Domenica, 05/10/2008
ho provato anche abilitando i riferimenti a DRS e DSS + questo codice :
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2.  
  3. Public ComandoVoce As DirectSR
  4. Public Voce As DirectSS
  5.  
  6. Private Sub Form_Load()
  7. Dim Engine, Voice As Long
  8. On Error GoTo ErrorMessage
  9. Set ComandoVoce = New DirectSR
  10. Set Voce = New DirectSS
  11.  
  12. ComandoVoce.Select 1
  13. ComandoVoce.GrammarFromFile "[Grammar]" + vbNewLine + "type=cfg" + vbNewLine + "[<Start>]" + _
  14.                             vbNewLine + "<start>=dormire" + vbNewLine + "<start>=salve" + vbNewLine
  15. ComandoVoce.Initialized = 1
  16. ComandoVoce.Listen
  17. ComandoVoce.Activate
  18.  
  19. Voce.Select 1
  20.  
  21. GoTo NoError
  22. ErrorMessage:
  23.             MsgBox "Impossibile inizializzare il modulo di riconoscimento vocale." & _
  24.                    vbCrLf & "Assicurarsi che un modulo di riconoscimento vocale sia installato."
  25.             End
  26. NoError:
  27. End Sub
  28.  
  29. Private Sub ComandoVoce_PhraseFinish(ByVal flags As Long, ByVal beginhi As Long, ByVal beginlo As Long, _
  30.                                   ByVal endhi As Long, ByVal endlo As Long, ByVal Phrase As String, _
  31.                                   ByVal parsed As String, ByVal results As Long)
  32.  
  33. If (Phrase = "") Then
  34.    MsgBox "Cosa???"
  35. Else
  36.    Select Case Phrase
  37.           Case "salve"
  38.                Voce.Speak "tutto ok"
  39.                ComandoVoce.Deactivate
  40.           Case "dormire"
  41.                Voce.Speak "io vado a dormire"
  42.                ComandoVoce.Deactivate
  43.    End Select
  44. End If
  45. End Sub
  46.  
  47. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  48. ComandoVoce.Deactivate
  49. End Sub


ho messo i flag nella propietà PhraseFinish,constatando che non ci va.il microfono funziona,e registra nel registratore vocale di winXP :-|

IDEE????:-?

Ultima modifica effettuata da alejandro il 05/10/2008 alle 10:33
PM Quote
Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 10:38
Domenica, 05/10/2008
dimenticavo.se uso il MSN VoiceCommand quando tento di inizializzarlo mi da un errore :
Metodo 'Initialized' del oggetto 'IVCommand' non riuscito :-?

PM Quote
Avatar
super rambo (Normal User)
Pro


Messaggi: 135
Iscritto: 04/06/2008

Segnala al moderatore
Postato alle 13:15
Domenica, 05/10/2008
negli esempi, http://www.pierotofy.it/pages/download.php?filename=100p97 ... qui c'è un programma che esegue un confronto tra due file wawe potresti prendere spunto...

PM Quote
Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 15:00
Domenica, 05/10/2008
l'avevo presso all'inizio.è uno scanner vocale.

PM Quote