Oppure

Loading
01/10/08 16:21
alejandro
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 :
Option Explicit

Dim FlagAttivo As Boolean

Private Sub Form_Load()
FlagAttivo = False
vcrRecognition.GrammarFromString "[Grammar]" + vbNewLine + "type=cfg" + vbNewLine + "[<Start>]" + vbNewLine + "<start>=Prueva" + vbNewLine
'vcrRecognition.Listen
End Sub

Private Sub btAbilita_Click()
Select Case FlagAttivo
       Case True
            FlagAttivo = False
            vcrRecognition.Deactivate
            lblStatus.Caption = "Chiuso"
       Case False
            FlagAttivo = True
            vcrRecognition.Activate
            lblStatus.Caption = "In ascolto"
End Select
End Sub

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)
Select Case Phrase
       Case "Prueva"
            spkSpeak.Speak "Prueva"
       Case Else
            spkSpeak.Speak "Cioè?"
End Select
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 01/10/08 16:23
aaa
05/10/08 8:32
alejandro
ho provato anche abilitando i riferimenti a DRS e DSS + questo codice :
Option Explicit

Public ComandoVoce As DirectSR
Public Voce As DirectSS

Private Sub Form_Load()
Dim Engine, Voice As Long
On Error GoTo ErrorMessage
Set ComandoVoce = New DirectSR
Set Voce = New DirectSS

ComandoVoce.Select 1
ComandoVoce.GrammarFromFile "[Grammar]" + vbNewLine + "type=cfg" + vbNewLine + "[<Start>]" + _
                            vbNewLine + "<start>=dormire" + vbNewLine + "<start>=salve" + vbNewLine
ComandoVoce.Initialized = 1
ComandoVoce.Listen
ComandoVoce.Activate

Voce.Select 1

GoTo NoError
ErrorMessage:
            MsgBox "Impossibile inizializzare il modulo di riconoscimento vocale." & _
                   vbCrLf & "Assicurarsi che un modulo di riconoscimento vocale sia installato."
            End
NoError:
End Sub

Private Sub ComandoVoce_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)

If (Phrase = "") Then
   MsgBox "Cosa???"
Else
   Select Case Phrase
          Case "salve"
               Voce.Speak "tutto ok"
               ComandoVoce.Deactivate
          Case "dormire"
               Voce.Speak "io vado a dormire"
               ComandoVoce.Deactivate
   End Select
End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
ComandoVoce.Deactivate
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 05/10/08 8:33
aaa
05/10/08 8:38
alejandro
dimenticavo.se uso il MSN VoiceCommand quando tento di inizializzarlo mi da un errore :
Metodo 'Initialized' del oggetto 'IVCommand' non riuscito :-?
aaa
05/10/08 11:15
super rambo
negli esempi, pierotofy.it/pages/… qui c'è un programma che esegue un confronto tra due file wawe potresti prendere spunto...
aaa
05/10/08 13:00
alejandro
l'avevo presso all'inizio.è uno scanner vocale.
aaa