| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
|
|
johann Modérateur

Inscrit le: 22 Juin 2006 Messages: 1092 Localisation: Nancy
|
Posté le: 23 Mai 2007 17:29 Sujet du message: |
|
|
| cedriclocqueneux a écrit: | Argh, j'ai ca comme message d'erreur:
23/05/2007 18:23:17 - Error - Running script, script run or compile error in file: fonctionzoneson.txt1041:Redéfinition de nom in line 2 More info: Redéfinition de nom
Redéfinition de nom ? Ca veut dire quoi ? |
heureusment qu'il y a des betes en scripts, moi c'est plutot a taton, je vais donc laisser faire les pros ! (merci a eux pour tout !) _________________ Johann.
pas mal de trucs en x10/plcbus
 |
|
| Revenir en haut |
|
 |
Laser. Dieu de domotique
Inscrit le: 28 Nov 2006 Messages: 512 Localisation: Loire Atlantique
|
Posté le: 23 Mai 2007 18:45 Sujet du message: |
|
|
Le nom de ta fonction est "message"
Et à la ligne 2 tu fait un Dim message, tu cré une variable que tu appelle "message"
Donc il te dit en gros que ce com à déja été défini.
Solution modifie un des 2 pour qu'il ne confonde plus la fonction et la variable |
|
| Revenir en haut |
|
 |
cedriclocqueneux Dieu de domotique
Inscrit le: 02 Jan 2007 Messages: 1236 Localisation: Chaon (Loire et Cher)
|
Posté le: 23 Mai 2007 19:02 Sujet du message: |
|
|
Super, ca marche !
Alors petit récap pour ceux que ca intéresseraient:
Un script qui s'apelle fonctionzoneson.txt:
| Code: | Function messagezone (params)
Dim zone, message, duree ' params = zone:message:duree
zone = Trim (hs.StringItem (params, 1, ":"))
message = Trim (hs.StringItem (params, 2, ":"))
duree = Trim (hs.StringItem (params, 3, ":"))
duree = CInt (duree)
'enregistre le message dans un fichier wav avec la synthèse vocale spécifiée
hs.SpeakToFile message,"ScanSoft Virginie_Full_22kHz" , "G:\record\temp.wav"
'et lance foobar pour la zone indiquée
path = hs.GetAppPath & "\foobar\" & zone & "\foobar2000.exe"
hsp.waitms 500
hs.Launch path, "/hide"
hsp.waitms 500
hs.Launch path, "/add ""G:\record\temp.wav"""
hsp.waitms 500
hs.WaitSecs 3
hs.Launch path, "/play"
hs.WaitSecs duree
hs.Launch path, "/command:Playlist/Clear"
hsp.waitms 500
hs.Launch path, "/exit"
End Function |
On l'appelle via un event, qui a pour action
Run script: fonctionzoneson.txt("messagezone",1:"test de la zone 2":3)
où les paramètres sont N°delazone:message:dureedumessage
Ca permet d'envoyer un mesage lu par la synthèse vocale vers n'importe quelle zone définie comme dans le tuto.
Un grand merci pour votre aide, le script fonctionne, et au passage j'ai appris comment faire !
 |
|
| Revenir en haut |
|
 |
Laser. Dieu de domotique
Inscrit le: 28 Nov 2006 Messages: 512 Localisation: Loire Atlantique
|
Posté le: 23 Mai 2007 19:55 Sujet du message: |
|
|
De manière à ce qu'il soit compatible pour tout le monde tu pourrais stocker le fichier temp.wav dans un sous répertoire de HS par ex dans foobar:
Dil FilePath
FilePath = hs.GetAppPath & "\foobar\record\temp.wav"
Puis:
hs.SpeakToFile message,"ScanSoft Virginie_Full_22kHz" , FilePath
et:
hs.Launch path, "/add FilePath " <- là c'est à vérifier
Et pour les wait 500 ms c'est bizard, comme si ton PC ramait. Si tu met plus court ça donne quoi? |
|
| Revenir en haut |
|
 |
cedriclocqueneux Dieu de domotique
Inscrit le: 02 Jan 2007 Messages: 1236 Localisation: Chaon (Loire et Cher)
|
Posté le: 28 Juin 2007 14:57 Sujet du message: |
|
|
Petite question: avant, à partir d'une certaine heure, je coupais le son en faisant simplement un mute.
Mais en lancant foobar, bien sur ca ne fonctionne plus.
Il y a la fonction SetVolumeEx 0 dans HS qui permet de couper le son, seulement il coupe le son des "sons wave", mais pas le son principal. Du coup on entend toujours les annonces, même la nuit.
Connsaissez vous une autre fonction ? |
|
| Revenir en haut |
|
 |
johann Modérateur

Inscrit le: 22 Juin 2006 Messages: 1092 Localisation: Nancy
|
Posté le: 28 Juin 2007 20:18 Sujet du message: |
|
|
| cedriclocqueneux a écrit: | Petite question: avant, à partir d'une certaine heure, je coupais le son en faisant simplement un mute.
Mais en lancant foobar, bien sur ca ne fonctionne plus.
Il y a la fonction SetVolumeEx 0 dans HS qui permet de couper le son, seulement il coupe le son des "sons wave", mais pas le son principal. Du coup on entend toujours les annonces, même la nuit.
Connsaissez vous une autre fonction ? |
tu peux tester l'heure dans ton events...  _________________ Johann.
pas mal de trucs en x10/plcbus
 |
|
| Revenir en haut |
|
 |
cedriclocqueneux Dieu de domotique
Inscrit le: 02 Jan 2007 Messages: 1236 Localisation: Chaon (Loire et Cher)
|
Posté le: 28 Juin 2007 21:31 Sujet du message: |
|
|
| Oui, mais en faisant un event qui coupe le son en fonction de différents éléments, ca concerne tous les sons qui peuvent sortir du pc, ce qui est moins contraignant que de devoir gérer ces conditions pour chaque event. |
|
| Revenir en haut |
|
 |
johann Modérateur

Inscrit le: 22 Juin 2006 Messages: 1092 Localisation: Nancy
|
Posté le: 29 Juin 2007 8:30 Sujet du message: |
|
|
completement loufoque, mais tu peux mettre un recepteur universel X10 couplé a un relais... (desolé) _________________ Johann.
pas mal de trucs en x10/plcbus
 |
|
| Revenir en haut |
|
 |
cedriclocqueneux Dieu de domotique
Inscrit le: 02 Jan 2007 Messages: 1236 Localisation: Chaon (Loire et Cher)
|
Posté le: 29 Juin 2007 9:04 Sujet du message: |
|
|
Il doit y avoir plus simple quand même...
Une fonction vb6 ou autre, suffit de trouver. Bon, je m'y remet. |
|
| Revenir en haut |
|
 |
Laser. Dieu de domotique
Inscrit le: 28 Nov 2006 Messages: 512 Localisation: Loire Atlantique
|
Posté le: 29 Juin 2007 20:47 Sujet du message: |
|
|
En gros tu cherches une fonction du genre:
mastervolume = 0
et
mastervolume = 100% ? |
|
| Revenir en haut |
|
 |
cedriclocqueneux Dieu de domotique
Inscrit le: 02 Jan 2007 Messages: 1236 Localisation: Chaon (Loire et Cher)
|
Posté le: 29 Juin 2007 21:41 Sujet du message: |
|
|
Oui, ce serait tout à fait ca. La commande mediavolume existe, mais pas mastervolume ! Sinon comment la fais tu fonctionner ? Car je n'en ai pas trouvé mention nulle part dans HS.
Sinon j'ai trouvé un petit soft sur le forum HS: http://board.homeseer.com/showthread.php?t=100114&highlight=master+volume
Il suffit de lancer le soft avec setvol.exe 0 pour couper le son, par exemple. Au pire, s'il n'y a pas de fonction dans HS, j'utiliserai ca. |
|
| Revenir en haut |
|
 |
Laser. Dieu de domotique
Inscrit le: 28 Nov 2006 Messages: 512 Localisation: Loire Atlantique
|
Posté le: 30 Juin 2007 12:27 Sujet du message: |
|
|
je ne sais pas si elle existe en vbscript mais c'était juste pour mieux comprendre ce que tu voulais faire.
J'allais de proposer de faire un petit programme externe qui permetrais de faire varier le son mais je vois que ça existe déja.
Forcément ce n'est pas la meilleur solution mais ça fonctionne. |
|
| Revenir en haut |
|
 |
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|