SoundsetwaveVolume - Problem

  • Hallo Leute, schon seit einiger Zeit bastel ich wenn ich Zeit habe an einer kleinen Firefox automatisierung (ne art web-music player)
    Auf WinXP läuft die Lautstärkeregelung über SoundSetWaveVolume einwandfrei , ich suche aber eine Lösung damit es auch auf WinVista und Win7 so gut läuft.

    Hier das Script, dass mein Problem schildert:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <FF.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('GUIOnEventMode', 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $iOld = -1

    [/autoit] [autoit][/autoit] [autoit]

    Global $Form1 = GUICreate("LautstärkeProblem", 130, 30, 990, 30,-1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE,$WS_EX_TOPMOST, $WS_EX_APPWINDOW))
    GUISetOnEvent(-3, '_Exit')
    $Slider = GUICtrlCreateSlider(5, 7, 90, 21)
    SoundSetWaveVolume(80)
    GUICtrlSetData($Slider, 50)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    _FFStart("http://www.technobase.fm/wmplayer.php","default",1,True)

    [/autoit] [autoit][/autoit] [autoit]

    While True
    $iVolume = GUICtrlRead($Slider)
    If $iOld <> $iVolume Then
    SoundSetWaveVolume($iVolume)
    $iOld = $iVolume
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    _FFQuit()
    Exit
    EndFunc

    [/autoit]

    PS: Damit das Script funktioniert braucht man MozRepl :whistling:
    Link zu MozRepl

    Ich hoffe jemand der eins der neueren Betriebssysteme besitzt kann mir helfen
    (Ich denke da an eine Art UniversalSoundSetWaveVolume-Func : if @OSVersion="Vista" or "Win7" then........ sowas evtl??)

    MfG Hellboy

    MfG hellboy

    [autoit]

    Do
    _help($user)
    Until $questions = 0

    [/autoit]

    Meine Werke:
    Ste`s Web-Radio

    2 Mal editiert, zuletzt von hellboy3 (28. Mai 2010 um 00:53)

  • Zitat

    Das Problem ist nur das der Sound nicht über die Bass.au3 wiedergegeben wird :(


    Muss er auch nicht um die Lautstärke zu ändern ;). Aber wichtig bei der Funktion ist, dass du keinen Wert zwischen 0 und 100 als Lautstärke verwenden kannst sondern nur eine Dezimalzahl zwischen 0 und 1.

  • Gut mach ich ;).

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include "BASS.au3"
    #include <FF.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('GUIOnEventMode', 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $iOld = -1

    [/autoit] [autoit][/autoit] [autoit]

    Global $Form1 = GUICreate("LautstärkeProblem", 130, 30, 990, 30, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE, $WS_EX_TOPMOST, $WS_EX_APPWINDOW))
    GUISetOnEvent(-3, '_Exit')
    $Slider = GUICtrlCreateSlider(5, 7, 90, 21)
    GUICtrlSetData($Slider, 50)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    _BASS_Startup()
    _BASS_Init(0, -1, 44100, 0, "")

    [/autoit] [autoit][/autoit] [autoit]

    _FFStart("http://www.technobase.fm/wmplayer.php", "default", 1, True)

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(100)
    $iVolume = GUICtrlRead($Slider)
    If $iOld <> $iVolume Then
    _BASS_SetVolume($iVolume / 100)
    $iOld = $iVolume
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    _FFQuit()
    _BASS_Free()
    Exit
    EndFunc ;==>_Exit

    [/autoit]


    Die Dateien im Anhang müssen ins Script Verzeichnis ;).

  • Juhuuu scheint zu funktionieren ich baus mal in mein script ein und wenns dort auch funzt ( und das wird es) dann kann ich das auf gelöst stellen ;)

    Danke dir schonmal name :thumbup:

    MfG Hellboy

    MfG hellboy

    [autoit]

    Do
    _help($user)
    Until $questions = 0

    [/autoit]

    Meine Werke:
    Ste`s Web-Radio