WaveOutGetVolume [Résolu]

Signaler
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
-
 Utilisateur anonyme -
    Bon je suis désolée pour la question débile qui va suivre mais je dois etre tres fatigué
    ya quelque chose qui cloche dans ma fonction parceque je n'arrive pas a m'en servir !
...
const
      MAX_VOLUME               :integer    =65535;
      MIN_VOLUME                :integer    =0;
      DEVICE_IDENTIFIER     :integer    =0;
...
function  GetVolume():DWORD;
var
  VolumeGeneral: DWORD;
begin
  waveOutGetVolume(DEVICE_IDENTIFIER,@VolumeGeneral);
  result:=VolumeGeneral;
end;
...
  GaugeVolume.MaxValue:=MAX_VOLUME;
  GaugeVolume.MinValue:=MIN_VOLUME;
  GaugeVolume.Progress:=GetVolume;

...

le probleme , ca ne reflete absolument pas mon Volume ( oui oui c'est un assez gros et surement tres *** de probleme Mais la je suis a la limite de la crise de nerf , Desolé mais g pas trouvé d'exemple en utilisant WaveOutGetVolume())

Et en passant , en Delphi c'est quoi l'equivalent de alwaysOnTop ?

Merci

12 réponses


Salut,

Il te manque des trucs dans ta fonction  : Essaye ca

function GetWaveVolume(var Vol: DWORD): Boolean;
var

  WaveOutCaps: TWAVEOUTCAPS;

  Volume: DWORD;
begin

  Result :=  False;

   if  WaveOutGetDevCaps(DEVICE_IDENTIFIER, @WaveOutCaps, SizeOf(WaveOutCaps))  = MMSYSERR_NOERROR then

    if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then

    begin

      Result := WaveOutGetVolume(DEVICE_IDENTIFIER, @Volume) = MMSYSERR_NOERROR;

      Vol   := Volume;

{Pour trouver le son de gauche ou de droite
     LVol   := LoWord(Volume);

      RVol   := HiWord(Volume);}

    end;
end;
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Euh, d'après la msdn, c'est un int sur 16 bits qu'il faut donner à la fonction waveOutGetVolume.
Donc il faudrait mettre (var Vol: Word) et non pas DWord !! Sinon, tu passes un type trop grand et donc quand tu récupères, tout est shl 8, ce qui expliquerait ton "gros" résultat.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
16
Salut les gars,   :)))

« En Delphi c'est quoi l'equivalent de alwaysOnTop ? »

BringToFront, je pense.
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Euh, je dirais TForm.FormStyle := fsStayOnTop, non ?
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
16
Salut Flo,

Euh... Oui pour une form... Mais il peut aussi s'agir d'un compo pendant un drag'n drop, par exemple...
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
je comprends pas ... ta fonction me donne aussi des  resultats débiles :
---------------------------
Controlevolumeson
---------------------------
4294377462
---------------------------
OK  
---------------------------

pas normal ! ou alors suis vraiment mauvais , peut etre un piti exemple (Sivouplè )
mais a mon avis c autre chose

Désolé cari , c flo qui a raison :)

Ciao
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
16
pfff
De toute façon j'ai l'habitude. C'est tj Flo qui a raison...
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
meuuuuuuh non ! j'ai pas la science infuse non plus !
ça se saurait sinon, hein ?
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
S'il vous plait , désolé d'insister mais la fonction de Francky ( alors que je suis presque sur qu'elle est bonne) ne m donne toujours pas de bon resultat ...

J'en demande peut etre a la science infuse (lol) de Flo ...

Cari , Flo le combat ? lol

M'enfin je comprend pas le prob ... Ma carte son m'a tjs refiler que des *** !
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
Merci Flo ,c ca .... MAIS SURTOUT

DESOLE DESOLE DESOLE ...

je savais bien qu'il y avait une co**** qq part et je savais que ca devait forcement venir de moi ...

Et ca venais bien de moi , je confondais le volume WAVE et le MASTER volume ...

Forcement je trouvais que les chiffres etaient tjs bizarre vu que j'avais beau Augmenter/Diminuer le niveau sonore ,
mon GetWaveVolume ne semblait jamais bougé ( chose logique maintenat que j'ai enfin compris mon ENORME bourde ;) )

Merci tout de meme d'avoir pris la patience de resoudre mon probleme ( moi je ne l'aurais pas eu :) )

et sorry
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Finalement, pour les ignares comme moi en sonorisation, c'est quoi la différence entre Wave volume et Master volume ?
C'est un des sous-volumes qu'on voit dans la fenêtre de réglage de windows "Wave/mp3" tout comme "midi", ... ?

Des fois que ça me serve ... !

C'est un des sous-volumes qu'on voit dans la fenêtre de réglage de windows "Wave/mp3" tout comme "midi", ... ?  C'est ca Flo.