| |
|
|
| Sebastian Sprenger, URL=www.rgh-soft.de/forum01/read.php?f=6&i=5692&t=5688, Zeitpunkt=06.05.09 23:23
Hallo, ja - ich habe vor vielen Monaten etwas ähnliches vorbereitet (Ein-/Ausblenden von MIDI-Musik über die Lautstärkeregelung) und dir daraus mal einen Code zum direkten Verändern von Lautstärkewerten erstellt - ich hoffe, das passt so. ;) Hinweise: ° Beispiel liegt bei ° Lautstärkewerte gehen von 0 bis 65535 ° Stereoregelung nicht unterstützt (brauchst du das?) ° Ich erwarte nicht, dass es ohne weiteres auf Vista funktioniert... tut mein Originalcode nämlich auch nicht. Gruß, Sebastian declare hmx&,hmx#
def &LineIn $1002
def &Mic $1003
def &Wave $1008
proc setmixer
parameters c%,v%
case %pcount<2:return 0
case external(WINMM,mixerOpen,addr(hmx&),0,0,0,0):return 0
dim hmx#,368
proc _setmixertry
clear hmx#
long hmx#,0=168
long hmx#,24=c%
case external(WINMM,mixerGetLineInfoA,hmx&,hmx#,3):return 0
long hmx#,168=24
long hmx#,172=long(hmx#,12)
long hmx#,176=$50030001
long hmx#,180=1
long hmx#,184=148
long hmx#,188=hmx#+192
case external(WINMM,mixerGetLineControlsA,hmx&,hmx#+168,2):return 0
long hmx#,340=24
long hmx#,344=long(hmx#,196)
long hmx#,348=1
long hmx#,356=4
long hmx#,360=hmx#+364
long hmx#,364=v%
return not(external(WINMM,mixerSetControlDetails,hmx&,hmx#+340,0))
endproc
declare ok%
ok%=_setmixertry()
external(WINMM,mixerClose,hmx&)
dispose hmx#
return ok%
endproc
Hauptprogramm
Regler langsam nach oben schieben
cls
whileloop 0,100
SetMixer &LineIn, &loop * 655 + 35
SetMixer &Mic, &loop * 218 + 43735
SetMixer &Wave, &loop * 131 + 52435
endwhile
waitinput
|
|
|
| |
|
|