Comment désactiver / réactiver l'entrée Micro du PC ?

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Comment désactiver / réactiver l'entrée Micro du PC ?

Message par Ar-S »

Je cherches désespérément un code nécessitant probablement l'utilisation d'API sous windows pour désactiver / réactiver l'entrée Micro du PC.

J'ai rien trouvé de probant.

Je me dis qu'il y a : MIXERLINE_COMPONENTTYPE_DST_VOICEIN qui entre en jeu, j'ai trouvé ça sur cette page :
http://www.qsl.net/i2phd/mixer/index.html mais je ne vois pas vraiment comme l'utiliser.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Comment désactiver / réactiver l'entrée Micro du PC ?

Message par Backup »

traduire ça en Purebasic :

Code : Tout sélectionner

#include <windows.h>
 
#if defined(_MSC_VER)
#pragma comment(lib, "Winmm.lib")
#endif
 
/*
 * Function to mute or unmute the system microphone.
 * Arg: fMute - TRUE to mute, FALSE to unmute.
 */
BOOL MuteMicrophone(BOOL fMute)
{
    MMRESULT                    result   = 0;
    HMIXER                      hMixer   = 0;
    MIXERLINE                   ml       = { 0 };
    MIXERLINECONTROLS           mlc      = { 0 };
    MIXERCONTROL                mc       = { 0 };
    MIXERCONTROLDETAILS_BOOLEAN mcb      = { 0 };
    MIXERCONTROLDETAILS         mcd      = { 0 };
 
    result = mixerOpen(&hMixer, MIXER_OBJECTF_MIXER, 0, 0, 0);
 
    ml.cbStruct        = sizeof(MIXERLINE);
    ml.dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE ;
    result = mixerGetLineInfo((HMIXEROBJ) hMixer, &ml, MIXER_GETLINEINFOF_COMPONENTTYPE);
 
    mlc.cbStruct      = sizeof(MIXERLINECONTROLS);
    mlc.dwLineID      = ml.dwLineID;
    mlc.dwControlType = MIXERCONTROL_CONTROLTYPE_MUTE;
    mlc.cControls     = 1;
    mlc.pamxctrl      = &mc;
    mlc.cbmxctrl      = sizeof(MIXERCONTROL);
    result = mixerGetLineControls((HMIXEROBJ) hMixer, &mlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);
 
    mcd.cbStruct    = sizeof(MIXERCONTROLDETAILS);
    mcd.hwndOwner   = NULL;
    mcd.dwControlID = mc.dwControlID;
    mcb.fValue      = fMute;
    mcd.paDetails   = &mcb;
    mcd.cbDetails   = sizeof(MIXERCONTROLDETAILS_BOOLEAN);
    mcd.cChannels   = 1;
    result = mixerSetControlDetails((HMIXEROBJ) hMixer, &mcd, MIXER_SETCONTROLDETAILSF_VALUE);
 
    mixerClose(hMixer);
 
    return (result == MMSYSERR_NOERROR ? TRUE : FALSE);
 
}
 
int main(void)
{
    MuteMicrophone(TRUE);
 
    return 0;
}
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Comment désactiver / réactiver l'entrée Micro du PC ?

Message par Backup »

trouvé ce code , mais ne marche pas sous mon Seven ... :?

ici :
http://forums.purebasic.com/english/vie ... d3cd510435
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Comment désactiver / réactiver l'entrée Micro du PC ?

Message par Ar-S »

J'ai trouvé ce topic qui a l'air sympa
http://www.purebasic.fr/english/viewtop ... 32#p383232

Faut que j'analyse le code mais semble contenir ce qu'il faut.
A l'origine c'est un code de Flype en plus. (Si tu passes par là Flype !)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre