IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

MFC Discussion :

MCI : Comment sélectionner une carte son parmi plusieurs


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 93
    Par défaut MCI : Comment sélectionner une carte son parmi plusieurs
    Bonjour

    Je voudrais sélectionner une carte son parmi 3 pour lire un fichier
    .wav en utilisant la commande MciSendCommand

    Actuellement, je sais le faire uniquement sur la première carte uniquement.

    voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    DWORD OuvrirAudio(int IndexAudio)
    {
    	MCI_OPEN_PARMS mciopen;
     
    	//mciopen.lpstrDeviceType = "waveaudio";
     
    	mciopen.lpstrDeviceType = (LPCSTR)MAKELONG(MCI_DEVTYPE_WAVEFORM_AUDIO,IndexAudio);
    	mciopen.lpstrElementName = sFile;
    	mciopen.dwCallback = (DWORD_PTR)hwnd;
     
    	DWORD dwrt = mciSendCommand (0,MCI_OPEN,MCI_OPEN_TYPE |MCI_OPEN_ELEMENT | MCI_OPEN_TYPE_ID,(DWORD_PTR)&mciopen);
     
    	return dwrt;
    }
    Merci

  2. #2
    mat.M
    Invité(e)
    Par défaut
    en général pour la recherche de périphériques , il faut avoir recours à des fonctions CALLBACK , ne pas me demander pourquoi je ne sais pas trop.
    ( le code de fonction CALLBACK a un traitement particulier par l'OS )
    Donc il faut faire une fonction LONG CALLBACK LookingForSoundCard()
    Il est possible de faire cela avec DirectSound mais c'est envisageable de le faire avec MCI


    Et dans le MSDN , il n'y a rien ?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Pour ma part j'utilise les MCI pour controler des periph enregistreurs.

    avec la structure d'ouverture et la commande mci d'ouverture, je récupère le DeviceID qui corrrespond à l'ID des periph avec qui je souhaite communiquer.

    Ca se traduit par:

    machinID = mciopen.wDeviceID;

    tout a la fin de ma fonction d'ouverture.

    ensuite je dois intercepter un message (spécifique a mes perih je pense )
    qui me renvoit le nombre de ce type de périph connectés (wparam) et la liste de leur handle (lparam).
    A partir de la, et avec traitement: je peux en sélectionner un seul et communiquer avec, via son handle.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/05/2007, 16h39
  2. Réponses: 6
    Dernier message: 18/05/2006, 09h37
  3. Réponses: 7
    Dernier message: 10/05/2006, 11h15
  4. [TStringGrid] Comment sélectionner une cellule ?
    Par zidenne dans le forum Composants VCL
    Réponses: 1
    Dernier message: 18/11/2005, 10h45
  5. Comment sélectionner une ligne dans une TStringGrid ?
    Par Ben_Le_Cool dans le forum Composants VCL
    Réponses: 11
    Dernier message: 22/08/2005, 12h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo