Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Réglage du volume (ou du gain ?) du microphone


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Réglage du volume (ou du gain ?) du microphone
    Amis de toujours, bonjour !

    J'aurais aimé résoudre mon problème par mes propres moyens, mais il faut bien que je reconnaisse mon échec... Je développe un petit programme qui donne un aperçu visuel de ce que capte le microphone, j'en ai déjà parlé plusieurs fois.

    Aujourd'hui, je suis à peu près arrivé à mes fins, mais je voudrais ajouter la possibilité de régler l'amplitude du signal représenté à l'écran. Et je voudrais le faire sans que ce soit des calculs supplémentaires dans mon programme. Je sais régler ce volume par le panneau de configuration. Je n'ai pas réussi à trouver les appels d'API qui me permettraient de le faire dans mon programme, à l'aide d'un ascenseur, par exemple.

    Accessoirement, j'ai l'impression que Microsoft a complètement réorganisé sa façon de publier la documentation technique : à mes yeux, ça n'était déjà pas facile de s'y retrouver, mais là, c'est "mission impossible" !

    Merci d'avance si quelqu'un peut m'aider.

    AMIcalement.

  2. #2
    Rédacteur/Modérateur

    Salut

    Peut être que [FAQ]Manipuler/agir sur le volume du son système [VBScript et HTA] pourrait t'être utile (la Sub Volume(Param1,Param2,Param3) à mettre au gout VB6 (typage des variables As ...)).
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre régulier
    Merci, ProgElectr, toujours fidèle au poste.

    Je regarde.

    AMIcalement

  4. #4
    Rédacteur/Modérateur


    Citation Envoyé par L'AMI Yves
    Réglage du volume (ou du gain ?) du microphone
    là c'est reglage du haut parleur
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  5. #5
    Membre régulier
    Ouais, là, c'est pour baisser le volume du son, et puis c'est en je-ne-sais-pas-quoi, qui lance du VBScript... Ouaouhhh ! En plus, je ne sais pas où trouver ces codes "sendkey", où trouver s'il y en a d'équivalents pour le volume d'entrée du micro... La piste me paraît semée d'embuches !

    J'ai réalisé la partie actuelle de mon application avec l'API winmm, mais je ne vois pas, dans ce que j'ai pu trouver comme doc, de commande pour agir sur la gestion du microphone. Il y a bien une ebntrée "...GetProperties", ou de ce genre, mais d'une part je n'ai rien vu sur le microphone dans ces fameuses "properties", et en plus il n'y a pas l'équivalent "...SetProperties".

    Par contre, je ne trouve rien de compréhensible dans d'autres dll. J'ai vu des machins "...Media" ou "...MultiMedia", j'ai bien cru voir quelque part que le volume d'entrée (valeur comprise entre 0 et 1) était le produit ed quatre paramètres (valeurs elles aussi comprises entre 0 et 1), mais avant de pousser les recherches (que je trouve particulièrement fastidieuses chez Microsoft !), je voudrais quelques avis autorisés sur cette dll?. Entre autres, je m'inquiète de savoir si je devrai tout refaire dans mon appli si je me lance avec une autre dll juste pour le réglage du volume.

    Voila où j'en suis de l'avancement de mon projet (je piétine, quoi !)

    A vot' bon cœur, m'sieurs-dames.

    AMIcalement

  6. #6
    Rédacteur/Modérateur

    Salut
    Il me semblait bien que j'avais fait un truc à propos du microphone.
    J'en parle dans cette discussion Récupérer l'entrée son (microphone) de la carte son au poste N°10.

    Le lien ou tu peux trouver un exemple:

    Je viens de recharger la source allemande, j'ai dézipper, il y a bien la possibilité de réglé le volume.
    A l'époque j'avais fait un petit programme juste sur le micro, mais je ne l'ai pas présentement sur cette ordinateur, si tu as trop de problème à récupérer cette partie microphone, je remettrais en route mon vielle ordinateur qui est en Windows 7.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  7. #7
    Membre régulier
    Encore du grain à moudre... Merci, je regarde

    AMIcalement

  8. #8
    Membre régulier
    Je n'ai hélas pas une grande expérience dans le développement d'objets. Je trouve ce projet remarquable, mais j'ai du mal à m'y retrouver. D'où vient cet objet "mixercontrol" : d'après ce que je comprends, les différents composants de la "chaîne MIDI" sont, chacun, un "mixercontrol", mais je n'ai pas su voir où - et comment - était défini l'objet générique.

    Ou alors, pour winmm.dll, le réglage du volume de l'entrée microphone ne se fait pas en appelant je-ne-sais-quelle entrée, mais juste en spécifiant une valeur dans une structure. Mais quelle est alors cette structure, pour le micro que je suis en train d'utiliser (car il peut y en avoir plusieurs, ça, je l'ai vu dans la doc µ$, et c'est pris en compte dans mon programme).

    En tout cas, j'ai assez la grosse tête pour ce soir.

    Encore merci, et bonne nuit.

    AMIcalement.

  9. #9
    Membre régulier
    Bon, j'ai approfondi cette application "Volume". Je ne suis pas encore au bout de ce travail (c'est quand même plutôt péchu, non ?) mais il me semble bien qu'il manque quelque chose, en tout cas quand on dézippe et qu'on lance en VB6 : on tombe sur une division par zéro, et en remontant le code, on arrive à des valeurs "lMinimum" et "lMaximum" qui ne sont pas initialisées. Curieux, non ?

    Ca m'aurait (sans doute) aidé de pouvoir la faire tourner, mais je vais tenter de continuer à approfondir.

    AMIcalement.

  10. #10
    Membre régulier
    Au secours, ProgElect : je n'arrive à rien. L'appli "Volume" ne marche décidément pas chez moi. En regardant les API qu'elle utilise, j'ai essayé de rentrer dans la doc Microsoft, mais ça me dépasse complètement. Je ne sais pas si c'est que je ne sais pas chercher, mais tout ce que j'ai pu trouver, c'est la description des différents points d'entrée de winmm.dll. Je trouve que sans une vue d'ensemble, il est impossible de trouver son chemin. Et je n'ai pas trouvé cette vue d'ensemble.

    AMIcalement.

  11. #11
    Membre régulier
    Hello tout le monde !

    Je reviens à la charge, après avoir avalé (mais non encore digéré, il s'en faut de beaucoup !) la doc spécialement indigeste de Microsoft sur les APIs multimedia, je suis rentré plus avant dans l'application "volume" indiquée par PrgElect, et qui plantait sur une division par 0.

    Après avoir ajouté les tests permettant d'éviter ces divisions par 0, je relance l'application, et là je constate que tous les appels à getMixerControl dans la routine ClassInitialize échouent (alors qu'il y a au moins un micro branché sur la machine).

    Je suppose que quelque chose manque à l'application pour valider les appels API, mais je suis bien incapable d'imaginer ce que ça peut être.

    J'aimerais tellement que quelqu'un ayant joué avec ces API me partage son expérience...

    A vot' bon cœur, m'sieurs-dames.

    AMIcalement.

  12. #12
    Membre régulier
    RE-bonjour à tous.

    Finalement, je l'ai fait !

    En y réfléchissant après coup, c'est bête de n'avoir pas eu l'idée plus tôt : j'ai interrogé Google en anglais !

    Alors il m'a répondu (en anglais bien sûr), en me donnant du code (sans doute en C, je ne parle pas cette langue) pour régler le volume de la sortie haut-parleurs.

    Alors j'ai adapté tout ça... Çà a donné de l'ordre de 50 lignes de code en VB6, plus environ pareil en déclarations de types, d'entrées API et de variables.

    Et, après quelques tâtonnements, CA MARCHE !

    Je salue ceux qui m'ont lu, et...

    En route pour de nouvelles aventures !

    AMIcalement.

  13. #13
    Rédacteur/Modérateur

    Salut

    L'important étant que tu sois contant du résultat, mais ... le titre de ta discussion est Réglage du volume (ou du gain ?) du microphone, ta solution
    Citation Envoyé par L'AMI Yves
    Alors il m'a répondu (en anglais bien sûr), en me donnant du code (sans doute en C, je ne parle pas cette langue) pour régler le volume de la sortiehaut-parleurs.


    J'ai, depuis plusieurs jours, recherché le code du programme ou j'avais réussi à faire fonctionner depuis le code allemand, malheureusement, pas moyen de retrouver sur les 2 disques dur archives ni les CDs, je dois avoir des centaines de bouts de codes, pas moyens de mettre la main dessus.

    Bon bidouille, à la prochaine.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  14. #14
    Membre régulier
    Salut.

    Ben oui, il a donné une solution pour le haut parleur, et j'ai adapté pour le micro. Faut pas croire, il y a quand-même du vrai travail.

    Mais quel tas de m..., cette dll !

    AMIcalement.