aide plugin volume du pc
2 participants
Page 1 sur 1
aide plugin volume du pc
bonjour stephane j'ai creer un plugin pour controler le son du pc, je voudrais controler le volume sur d'autre poste(post client cuisine, client couloir, client salle de bain, client chambre)
j'ai dans le dossier plugin controle du volume du pc le dossier nircmd avec les fichier prop, intent, action et js, je peux controler le son du pc seulement sur le client salon ou se trouve le seveur
merci d'avance
exports.action = function(data, callback){
var tblCommand = {
volumeUp : function() {Avatar.speak("Je monte le volume|Je monte le son", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe changesysvolume 5000'}`, null, data.client, () => {
});
});
});
},
volumeDown : function() {Avatar.speak("Je baisse le volume |Je baisse le son", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe changesysvolume -5000'}`, null, data.client, () => {
});
});
});
},
volumeMute : function() {Avatar.speak("Je coupe le son|Je coupe le volume|J'arrete le son|J'arrete le volume", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe mutesysvolume 1'}`,null, data.client, () =>{
});
});
});
},
volumeUnMute : function() {Avatar.speak("Je remet le son|Je remet le volume", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe mutesysvolume 0'}`,null, data.client, () => {
});
});
});
},
volume10 : function() { Avatar.speak("Le volume est maintenant à 10 %|Le son est maintenant à 10 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${10*655}`, null, data.client, () => {
});
});
});
},
volume20 : function() {Avatar.speak("Le volume est maintenant à 20 %|Le son est maintenant à 20 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${20*655}`, null, data.client, () => {
});
});
});
},
volume30 : function() {Avatar.speak("Le volume est maintenant à 30 %|Le son est maintenant à 30 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${" "}${30*655}`, null, data.client, () => {
});
});
});
},
volume40 : function() {Avatar.speak("Le volume est maintenant à 40 %|Le son est maintenant à 40 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${40*655}`, null, data.client, () => {
});
});
});
},
volume50 : function() {Avatar.speak("Le volume est maintenant à 50 %|Le son est maintenant à 50 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${50*655}`, null, data.client, () => {
});
});
});
},
volume60 : function() { Avatar.speak("Le volume est maintenant à 60 %|Le son est maintenant à 60 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${60*655}`, null, data.client, () => {
});
});
});
},
volume70 : function() {Avatar.speak("Le volume est maintenant à 70 %|Le son est maintenant à 70 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${70*655}`, null, data.client, () => {
});
});
});
},
volume80 : function() {Avatar.speak("Le volume est maintenant à 80 %|Le son est maintenant à 80 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${80*655}`, null, data.client, () => {
});
});
});
},
volume90 : function() {Avatar.speak("Le volume est maintenant à 90 %|Le son est maintenant à 90 %", data.client, function () {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${90*655}`, null, data.client, () => {
});
});
});
},
volume100 : function() {Avatar.speak("Le volume est maintenant à 100 %|Le son est maintenant à 100 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${100*655}`, null, data.client, () => {
});
});
});
}
};
let client = setClient(data);
info("volumeDuPc:", data.action.command, "From:", data.client, "To:", client);
tblCommand[data.action.command]();
callback();
}
function setClient (data) {
var client = data.client;
if (data.action.room)
client = (data.action.room != 'current') ? data.action.room : (Avatar.currentRoom) ? Avatar.currentRoom : Config.default.client;
if (data.action.setRoom)
client = data.action.setRoom;
return client;
}
j'ai dans le dossier plugin controle du volume du pc le dossier nircmd avec les fichier prop, intent, action et js, je peux controler le son du pc seulement sur le client salon ou se trouve le seveur
merci d'avance
exports.action = function(data, callback){
var tblCommand = {
volumeUp : function() {Avatar.speak("Je monte le volume|Je monte le son", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe changesysvolume 5000'}`, null, data.client, () => {
});
});
});
},
volumeDown : function() {Avatar.speak("Je baisse le volume |Je baisse le son", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe changesysvolume -5000'}`, null, data.client, () => {
});
});
});
},
volumeMute : function() {Avatar.speak("Je coupe le son|Je coupe le volume|J'arrete le son|J'arrete le volume", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe mutesysvolume 1'}`,null, data.client, () =>{
});
});
});
},
volumeUnMute : function() {Avatar.speak("Je remet le son|Je remet le volume", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe mutesysvolume 0'}`,null, data.client, () => {
});
});
});
},
volume10 : function() { Avatar.speak("Le volume est maintenant à 10 %|Le son est maintenant à 10 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${10*655}`, null, data.client, () => {
});
});
});
},
volume20 : function() {Avatar.speak("Le volume est maintenant à 20 %|Le son est maintenant à 20 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${20*655}`, null, data.client, () => {
});
});
});
},
volume30 : function() {Avatar.speak("Le volume est maintenant à 30 %|Le son est maintenant à 30 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${" "}${30*655}`, null, data.client, () => {
});
});
});
},
volume40 : function() {Avatar.speak("Le volume est maintenant à 40 %|Le son est maintenant à 40 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${40*655}`, null, data.client, () => {
});
});
});
},
volume50 : function() {Avatar.speak("Le volume est maintenant à 50 %|Le son est maintenant à 50 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${50*655}`, null, data.client, () => {
});
});
});
},
volume60 : function() { Avatar.speak("Le volume est maintenant à 60 %|Le son est maintenant à 60 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${60*655}`, null, data.client, () => {
});
});
});
},
volume70 : function() {Avatar.speak("Le volume est maintenant à 70 %|Le son est maintenant à 70 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${70*655}`, null, data.client, () => {
});
});
});
},
volume80 : function() {Avatar.speak("Le volume est maintenant à 80 %|Le son est maintenant à 80 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${80*655}`, null, data.client, () => {
});
});
});
},
volume90 : function() {Avatar.speak("Le volume est maintenant à 90 %|Le son est maintenant à 90 %", data.client, function () {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${90*655}`, null, data.client, () => {
});
});
});
},
volume100 : function() {Avatar.speak("Le volume est maintenant à 100 %|Le son est maintenant à 100 %", data.client, () => {
Avatar.Speech.end(data.client, true, () => {
Avatar.runApp(`${__dirname}${'/nircmd/nircmdc64.exe setsysvolume'}${' '}${100*655}`, null, data.client, () => {
});
});
});
}
};
let client = setClient(data);
info("volumeDuPc:", data.action.command, "From:", data.client, "To:", client);
tblCommand[data.action.command]();
callback();
}
function setClient (data) {
var client = data.client;
if (data.action.room)
client = (data.action.room != 'current') ? data.action.room : (Avatar.currentRoom) ? Avatar.currentRoom : Config.default.client;
if (data.action.setRoom)
client = data.action.setRoom;
return client;
}
halim- Messages : 93
Date d'inscription : 19/11/2022
Re: aide plugin volume du pc
C'est une fonction qiu existe déjà dans le plugin Generic.
c'est dans la documentation, chapitre "Fonctions supplémentaires"
Ou dans le source d'Avatar.
Petite suggestion, quand tu cherches quelque chose qui existe déjà (et ca existe puisque tu l'as dans l'interface d'avatar serveur sur chaque node de chaque client dans la commande "Volume sur le PC"), tu peux alors chercher le code et voir comment c'est fait.
Ici, le code qui nous intéresse est dans clientNode.js et aussi regarder le plugin generic.
Une valeur définie:
Avatar.call('generic', {command: 'set_speaker', set: arg, mobile:true, client: client});
"arg" est une valeur * 660
Le plus simple est de passer en l'argument "mobile" la valeur true. C'est le plus simple et c'est ce qu'il y a dans le code d'avatar.
ou sinon false si ce n'est pas un client mobile et seulement si tu en est sûr (valeur false pour "mobile"), ca veut dire tester le client avant de faire le call et avec une valeur ou des valeurs supplémentaires:
'submin'
'addmin'
'submax'
'addmax'
La fonction dans le plugin generic prend en compte les clients mobiles. Quelque chose qu'on peut oublier un peu facilement quand on développe un peu vite. Le mieux est de regarder le plugin generic pour comprendre.
Pour mute/unmute:
Avatar.runApp('%CD%/lib/nircmd/nircmd mutesysvolume ' + data.action.set, null, client);
Je ne comprend pas bien tes $(....) dans chaque commande que tu essayes de passer dans tes fonctions. Je n'ai pas essayé mais ca me parait super bizarre, pas bon même. A mon avis, c'est pour chercher dans des tag html avec une methode fetch. Rien à voir.
A+ et Bon courage.
c'est dans la documentation, chapitre "Fonctions supplémentaires"
Ou dans le source d'Avatar.
Petite suggestion, quand tu cherches quelque chose qui existe déjà (et ca existe puisque tu l'as dans l'interface d'avatar serveur sur chaque node de chaque client dans la commande "Volume sur le PC"), tu peux alors chercher le code et voir comment c'est fait.
Ici, le code qui nous intéresse est dans clientNode.js et aussi regarder le plugin generic.
Une valeur définie:
Avatar.call('generic', {command: 'set_speaker', set: arg, mobile:true, client: client});
"arg" est une valeur * 660
Le plus simple est de passer en l'argument "mobile" la valeur true. C'est le plus simple et c'est ce qu'il y a dans le code d'avatar.
ou sinon false si ce n'est pas un client mobile et seulement si tu en est sûr (valeur false pour "mobile"), ca veut dire tester le client avant de faire le call et avec une valeur ou des valeurs supplémentaires:
'submin'
'addmin'
'submax'
'addmax'
La fonction dans le plugin generic prend en compte les clients mobiles. Quelque chose qu'on peut oublier un peu facilement quand on développe un peu vite. Le mieux est de regarder le plugin generic pour comprendre.
Pour mute/unmute:
Avatar.runApp('%CD%/lib/nircmd/nircmd mutesysvolume ' + data.action.set, null, client);
Je ne comprend pas bien tes $(....) dans chaque commande que tu essayes de passer dans tes fonctions. Je n'ai pas essayé mais ca me parait super bizarre, pas bon même. A mon avis, c'est pour chercher dans des tag html avec une methode fetch. Rien à voir.
A+ et Bon courage.
Avatar- Messages : 81
Date d'inscription : 01/09/2020
Age : 58
Localisation : Toulouse
Re: aide plugin volume du pc
merci pour ta reponse et ton aide stephane;
je sais ca existe deja dans l'interface d'avatar serveur sur chaque node du client (redemare l'ecoute , volume pc, active l'ecoute, ect ...) mais je ne sais comment ca fonctionne
honnettement je regarde beaucoup la documentation et comment sont coder tes plugins mais je suis encore un bidouilleur , donc je ne sais pas vraiment lire le code,
honnettement quand je regarde la doc et tes plugins tu as fait un grand travail sur le projet AVATAR(felicitation) tu as developper des option qui n'existe pas encore sur les assistants vocaux alexa, google home et meme sur sarah et jarvis.ia,
merci encore a la prochaine
ca => `${} ${}` le javascript moderne replace les plus(+) entre les syntaxe
exemple:
Avatar.speak('bonjour' + stephane, data.. remplace ca : Avatar.speak(`${'bonjour'}${stephane}`, data.....
je sais ca existe deja dans l'interface d'avatar serveur sur chaque node du client (redemare l'ecoute , volume pc, active l'ecoute, ect ...) mais je ne sais comment ca fonctionne
honnettement je regarde beaucoup la documentation et comment sont coder tes plugins mais je suis encore un bidouilleur , donc je ne sais pas vraiment lire le code,
honnettement quand je regarde la doc et tes plugins tu as fait un grand travail sur le projet AVATAR(felicitation) tu as developper des option qui n'existe pas encore sur les assistants vocaux alexa, google home et meme sur sarah et jarvis.ia,
merci encore a la prochaine
ca => `${} ${}` le javascript moderne replace les plus(+) entre les syntaxe
exemple:
Avatar.speak('bonjour' + stephane, data.. remplace ca : Avatar.speak(`${'bonjour'}${stephane}`, data.....
halim- Messages : 93
Date d'inscription : 19/11/2022
Sujets similaires
» aide plugin wikipédia
» aide creation plugin
» aide plugin horoscope
» aide plugin Calculatrice
» aide rawsentence
» aide creation plugin
» aide plugin horoscope
» aide plugin Calculatrice
» aide rawsentence
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|