Volume wave

hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008 - 27 nov. 2003 à 17:21
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008 - 28 nov. 2003 à 19:36
salut , j'ai vu que sur ce site , il y a plein de sources pour changer le volume wave, qui marchent , dotres qui marchent moins bien , mais bon....

mùoi je cherche une source ou une api avec laquelle je pourrai changer le volume PRINCIPAL , et non pas le wave ou le midi out autre chose , je voudrais juste le principal, ya til des api pour faire ca ?

ou bien en directx , mais je pense kil dois y avoir une api , c quand meme plus simple.

merci @+

11 réponses

cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
27 nov. 2003 à 17:43
Il y aurait peut être ça :
Declare Function waveOutSetVolume Lib "Winmm" (ByVal wDeviceID As Integer, ByVal dwVolume As Long) As Integer

Voici l'exemple que j'ai trouvé sur allapi (http://www.mentalis.rog/apilist/apilist.php)
'Example submitted by Danjel Nyberg
'It needs a textbox (Text1) and two command buttons (Command1, Command2)
Private Declare Function waveOutSetVolume Lib "Winmm" (ByVal wDeviceID As Integer, ByVal dwVolume As Long) As Integer
Private Declare Function waveOutGetVolume Lib "Winmm" (ByVal wDeviceID As Integer, dwVolume As Long) As Integer
Private Sub Command1_Click()
    Dim a, i As Long
    Dim tmp As String
    a = waveOutGetVolume(0, i)
    tmp = "&h" & Right(Hex$(i), 4)
    Text1 = CLng(tmp)
End Sub
Private Sub Command2_Click()
    Dim a, i As Long
    Dim tmp, vol As String
    vol = Text1
    tmp = Right((Hex$(vol + 65536)), 4)
    vol = CLng("&H" & tmp & tmp)
    a = waveOutSetVolume(0, vol)
End Sub

0
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
27 nov. 2003 à 19:54
bah ouai , merci , mais ca monte le volume wave , pas le principal, ca va pas .

merci quand meme radada , si kkun a une reponse , si on peu evidement.

merci.
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
27 nov. 2003 à 20:14
Ben sinon tu a Declare Function SetVolumeLabel Lib "kernel32" Alias "SetVolumeLabelA" (ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Long
Sinon, je sais pô, dsl : ((
0
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
27 nov. 2003 à 20:21
ah nan , c'est pour changer le nom du volume d'un disque et pas le volume du son , nan tampis , je le metrai , merci quand meme .
comme c'etait une option , je vais pas la metre c tout , merci a toi radada.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
27 nov. 2003 à 20:28
Nan, il doit y avoir moyen non??? Et avec les fonctions directinput??? Y'a rien????
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
27 nov. 2003 à 20:31
0
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
27 nov. 2003 à 20:38
ouai , c'est ca , c'a fais un gros code mais je vais enlever ce qui sert a rien .

jte remercie beacoups.
c sympa de ta part.
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
27 nov. 2003 à 20:42
2r, je suis content si je peux aider les autres car je suis content qu'on me files un coup de main quand j'en ai besoin ; ))
0
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
28 nov. 2003 à 15:55
Hackademius> ce serait cool si tu proposait ton code "épuré" parceque tu n'avais pas été le seul à poser cette question et ma conclusion avait été "impossible de changer autre chose que wave ou mid ou mic ou..."
0
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
28 nov. 2003 à 18:56
ok , pas de probleme , je le metrai.
0
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
28 nov. 2003 à 19:36
c'est mis , voici le lien :
http://www.vbfrance.com/code.aspx?ID=18290

Bon , j'ai pas fais grand chose , je tient a le dire , j'ai juste simplifié la commande , j'ai regroupé tout le reste dans le module et voila.
donc au load , un Init pour recuperer les valeurs Min et Max et pour changer le volume , c'est

vol = CLng(Text1.Text)
SetVolumeControl hmixer, volCtrl, vol

text1 contient la valeur a metre au volume , chez moi ca va de 0 a 65535
c tout .

merci et @+ et bonne prog a tous
0
Rejoignez-nous