PlaySound & Speech API

Signaler
Messages postés
12
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
3 avril 2008
-
Messages postés
12
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
3 avril 2008
-
Salut à tous
besoin d'aide. Débutant. VB6. Merci
J'ai réalisé une interface qui permet d'appeler des clients, un affichage des appels en quelque sorte. il ya une longue liste et quand vous êtes appelé, l'interface vous le signale.
pour la liste des clients j'utilise un msflexgrid
en plus du signal visuel c'est à dire défilement du nom et clignotement des couleurs; j'utilise un signal sonore, un son bells.wav (comme dans les aéroports) et une Speech API pour pouvoir pronocer le nom du client. donc pour appeler une personne je fais jouer le son wav puis je lance un DirectSS pour faire parler mon interface. Ca fonctionne mais seulement:

- quand l'appli se lance, et que je dois appeler 2 personnes par exemple; au lieu de jouer le son wav puis parler, puis jouer le son wav et parler pour la deuxieme personne cette fois, il joue tous les sons wav que j'appelle avant de commencer à parler que je set playsound synchone ou assynchrone, ou que j'utilise tout juste un shell.
directSS fonctionne en arrière plan, remet la main apres s'être lancé or playsound garde la main ce qui fait que le clignotement s'arrete le temps que tous les playsound soient joués.
je ne sais pas si il ya un moyen de faire lire le wav avec directSS.

l'idéal pour moi serait que tout ceci (son wav et parlé) fonctionne comme dans une file d'attente FIFO l'un apres l'autre mais en arrière plan pour que le programme ne s'arrete pas à faire sonner ou à parler avant de clignoter par exemple

- je ne trouve pas un son wav qui correpond à la circonstance. j'ai jpour l'instant une sonnerie de porte: doorbell.wav  quelque chose de plus fun serait magnifique

MERCI ENCORE POUR L'AIDE
[mailto:christjani@yahoo.fr christjani@yahoo.fr]

2 réponses

Messages postés
30
Date d'inscription
mardi 21 août 2007
Statut
Membre
Dernière intervention
4 octobre 2010

slt c seth. si je pouvais avoir votre application je pourrai savoir de quoi il s'agit.
seth
Messages postés
12
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
3 avril 2008

à chaque ligne tu msflexgrid l'appli vérifie le champs "anno" et effectue la tache
si la première ligne est à 8 et la suivante est 9 par exemple,
z = Shell s'exécute
directSS1 suit mais continue en arrière plan ce qui fait que
z = Shell pour la ligne suivante s'exécute  et
directSS1 pour la ligne suivante lui par contre s'ajoute dans la file d'attente d'exécution



-------------------- code -------------------
' pour chaque ligne:



If recTab.Fields("anno") = 8 Then
           
            z = Shell("sndrec32 /play " & "C:\waves\belltim2\doorbl2.wav", vbHide)
            DirectSS1.Speak (message)
           
            Call choixenable  ' fait clignoter la ligne choisie avec la couleur voulue
           
ElseIf recTab.Fields("anno") = 9 Then
            ' je ne sais pas si je dois utiliser Playsound ou Shell pour le son



            'PlaySound "C:\waves\belltim2\doorbl2.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC
            'PlaySound vbNullString, ByVal 0&, SND_PURGE



             z = Shell("sndrec32 /play " & "C:\waves\belltim2\doorbl2.wav", vbHide)
            DirectSS1.Speak (message)           



            Call choixenable
           
End If
-------------------------------
je voudrais que tout ce qui est sonore s'effectue l'un apres l'autre mais en arrière plan si possible, pour ne pas bloquer le programme à ne faire que ca.
j'utilise un timer pour la routine parce que le programme doit tester la base apres un certain temps pour refresh la liste
j'utilise des timers pour faire clignoter les lignes



MERCI ENCORE
http://www.vbfrance.com/forum.v2.aspx?ID=1004701