| controle du son | |
|
|
Auteur | Message |
---|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: controle du son Dim 27 Jan 2013 - 11:47 | |
| Bonjour, Dans un programme, j'ai un fichier mp3 qui est joué par play N, et je voudrais pouvoir controler le volume du son sur ce morceau de musique, en déclenchant le programme de règlage du niveau sonore des enceintes sur l'ordi au moment où la musique démarre. Je voudrais aussi pouvoir couper ou déclencher le micro par programme panoramic. Quelqu'un sait-il comment faire? Merci, A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Dim 27 Jan 2013 - 22:06 | |
| Regarde dans KGF_html.chm, les fonctions "Gestion du Windows Media Player".
Cela résoud ton problème de gestion du volume. Tu peux placer le payer "off-screen (avec top=-200 et left=-100, par exemple).
Je n'ai pas de solution dans l'immédiat pour le micro. | |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: controle du son Dim 27 Jan 2013 - 23:26 | |
| Merci Klaus, de ta réponse, je savais que tu avais fait cette dll qui fonctionne bien, mais dont l'image est légèrement tronquée. Manque un bout à droite et un bout en bas. Mais ce n'est pas cela que je veux faire. C'est déclencher avec execute le programme de règlage de son qui est dans la barre d'outil de windows, tout de suite après mon play N. Cela permet de règler immédiatement le son si celui ci est trop bas ou trop fort. Ce qui manque à panoramic, c'est une instruction comme : VOLUME P avec P de 0 à 100, 0 pas de son et 100 volume au maximum. Une instruction comme MICRO_ON et MICRO_OFF serait bien aussi, et pourquoi ne pas imaginer WEBCAM_ON et WEBCAM_OFF pour commander justement la webcam si l'ordi en est équipé. Mais bon, seul Jack peut voir si c'est intéressant. A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Dim 27 Jan 2013 - 23:55 | |
| OK. Pour le volume, tu fais simplement ceci: - Code:
-
execute "sndvol32.exe" Et si, dans cette fenêtre, tu utilises le menu options/propriétés, tu peux choisir la ligne "input" et tu as le contrôle du micro... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Lun 28 Jan 2013 - 0:06 | |
| Et voici comment directement cibler le contrôle de la sortie et/ou de l'entrée du son: - Code:
-
execute "sndvol32.exe /P" : ' pour sortie du son execute "sndvol32.exe /R" : ' pour entrée su son
Simple, non ? | |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: controle du son Lun 28 Jan 2013 - 7:35 | |
| Bonjour, Merci Klaus, mais sndvol32.exe ne fonctionne pas chez moi. Toi tu es sous windows XP et moi Seven; par contre sndvol.exe m'ouvre le panneau de règlage du volume, du micro et du type (enceinte ou casque). sndvol.exe /P ou sndvol.exe /R ne donnent rien, ou plutôt, m'ouvre le même panneau de règlage. Avec execute "sndvol.exe" je peux me débrouiller. Merci encore à toi, Klaus. A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Lun 28 Jan 2013 - 10:49 | |
| Sous Seven, tu as ceci. Ce code devient donc - Code:
-
execute "sndvol.exe" : ' pour sortie du son execute "sndvol32.exe -R" : ' pour entrée su son
| |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: controle du son Lun 28 Jan 2013 - 11:15 | |
| Tu peux utiliser: "sndvol.exe -f" pour avoir le son principal uniquement (pense à déplacer la fenêtre où tu veux) Sinon quelques infos tirées du java script à adapter donc ... To mute or unmute the system volume, you can simulate the Mute key press using the WshShell.SendKeys method - Code:
-
var oShell = new ActiveXObject("WScript.Shell"); oShell.SendKeys(String.fromCharCode(0xAD)); As for changing the volume level from a script, there's a solution that involves some Windows automation, such as launching the System Volume applet and simulating the appropriate keyboard shortcuts in it, but I don't think it's reliable. Therefore I recommend that you use some external utility capable of changing the volume level, and call it from your script. For example, you could use the free NirCmd tool: - Code:
-
var oShell = new ActiveXObject("WScript.Shell");
// Increase the system volume by 20000 units (out of 65535) oShell.Run("nircmd.exe changesysvolume 20000");
// Decrease the system volume by 5000 units oShell.Run("nircmd.exe changesysvolume -5000"); NirCmd can also mute or unmute the system volume: - Code:
-
var oShell = new ActiveXObject("WScript.Shell"); oShell.Run("nircmd.exe mutesysvolume 0"); // unmute oShell.Run("nircmd.exe mutesysvolume 1"); // mute oShell.Run("nircmd.exe mutesysvolume 2"); // switch between mute and unmute Autre solution pour faire le "mute" sous Windows 7 toujours en javascript: - Code:
-
set oShell = CreateObject("WScript.Shell") oShell.run"%SystemRoot%\System32\SndVol.exe" WScript.Sleep 1500 oShell.SendKeys"{TAB} " ' Tab to the mute and press space oShell.SendKeys"%{F4}" ' ALT F4 to exit the app. Voilà, à toi de jouer si ça peut te donner des idées | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Lun 28 Jan 2013 - 11:35 | |
| Depuis un certain temps, tu as aussi une fonction SetSpeaker dans KGF.dll: - Code:
-
res% = dll_call1("SetSpeaker",mode%) avec mode%=1 pour muet et mode%=0 pour haut-parleur activé. Tu as bien sûr la procédure correspondante dans KGF_SUB.bas: - Code:
-
SetSpeaker(mode%) J'avais fait cela pour pouvoir activer automatiquement le haut-parleur pour le texte prononcé (fonctions SAPI). | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: controle du son Lun 28 Jan 2013 - 12:49 | |
| Tiens, Klaus, ce serait une évolution interessante de remplacer la fonction par: dll_call1("SetSpeaker",volume%) volume% = 0 => son off volume% = 100 => 100% avec volume% > 1 selon le choix d'option si dessous volume% = 999 => ou volume% = 1 remet le son on à son volume initial (si faisable, c'est juste une idée...) ---- le volume%= 0 pour off / 1 pour on permettrait de garder la compatibilité avec les programme antérieur. Qu'en penses-tu ?
| |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: controle du son Lun 28 Jan 2013 - 12:58 | |
| Merci Jicehel, execute "sndvol.exe -f" c'est ce que je cherchais précisément à faire! Je vais tacher d'étudier le reste. merci encore A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Lun 28 Jan 2013 - 22:47 | |
| J'ai ajouté une fonction dans KGF.dll: - Code:
-
res% = dll_call1("SetSpeakerVolume",volume%) ou avec KGF_SUB.bas: - Code:
-
SetSpeakerVolume(volume%) volume% est une valeur entre 0 silence) et 65535 (volume maximal). Ceci est différent de SetSpeaker(mode%) qui active ou désactive le haut-parleur, sans toucher au niveau de volume prédéfini. EDIT SetSpeaker est la fonction 178 dans demo_KGF_SUB.bas. SetSpeakerVolume est la fonction 218 dans demo_KGF_SUB.bas | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: controle du son Mar 29 Jan 2013 - 8:27 | |
| Hum, il l'a fait... donnons lui autre chose alors... Mince, je l'ais dit tout haut. Bon peut être la fonction GetSpeakerVolume qui retournerait la valeur courante. => Usage: On prend le réglage par défaut, on fait ce que l'on a à faire dans le programme et à la fin on quittant, on remet comme c'était ... Tu en penses quoi ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Mar 29 Jan 2013 - 9:23 | |
| Faisable. Je vais voir ça. Peut-être que la valeur de retour de SetSpeakerVolume pourrait être la valeur en vigueur avant d'effectuer la modification ? Ceci pour éviter de rajouter une nouvelle fonction... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: controle du son Mar 29 Jan 2013 - 9:45 | |
| C'est fait. SetSpeakerVolume retourne maintenant la valeur qui était de mise avant l'appel de cette fonction. Ainsi, on peut écrire ceci: - Code:
-
SetSpeakerVolume(45000) : ' mettre le volume à 45000 ... SetSpeakerVolume(SetSpeakerVolume) : ' remettre le volume à sa valeur initiale
en utilisant KGF_SUB.bas. Sinon, on peut bien sûr faire l'appel par DLL_CALL1, mémoriser la valeur retournée par le premier appel et utiliser cette valeur mémorisée au second appel. Fichiers modifiés: KGF.dll, KGF_SUB.bas et demo_KGF_SUB.bas. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: controle du son Mar 29 Jan 2013 - 11:07 | |
| Super Klaus Je testerais plus tard (au boulot là, mais comme ça, je pense que l'on est propre si l'on bidouille un peu le volume sonore .... ) | |
|
| |
Contenu sponsorisé
| Sujet: Re: controle du son | |
| |
|
| |
| controle du son | |
|