Ton ein/ausschalten

  • Hi,

    ich Suche nach einer Möglichkeit den Ton am PC ein bzw. auszuschalten. Habe zwar SoundSetWaveVolume gefunden aber das ist wie der Name schon sagt eben nur für Wave Dateien. Gibt es eine direkte Funktion in Autoit dafür?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • hallo,

    es gibt eine MasterVolume.au3!

    ach so, hatte auch schonmal was mit der audio.au3 gemacht!

    hier mal ein beispiel:

    Spoiler anzeigen
    [autoit]


    ;#include <audio.au3>
    ;_SoundSetMasterVolume(0)
    ;_SoundSetMicrophoneVolume(0)
    ;_SoundSetMasterWaveVolume(0)

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

    ;===============================================================================
    ;
    ; Function Name: _isMute
    ; Description:: Check for mute sound
    ; Parameter(s): ControlID
    ; Voulme = 1000
    ; Wave = 2000
    ; SW-Synthesizer = 3000
    ; CD-Player = 4000
    ; Mikrofon = 5000
    ; Line-In = 6000
    ; Requirement(s): ---
    ; Return Value(s): 0 = not muted, 1 = muted, -1 = timeout, -2 = ControlID not found
    ; Author(s): Thorsten Meger (Xenobiologist)
    ;
    ;===============================================================================

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

    ;ProcessClose("sndvol32.exe")

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

    Global $opt = 1000
    Global $opt_1 = 6666

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

    Run("sndvol32.exe", "", @SW_HIDE) ; sndvol32.exe /t

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

    Sleep(2000)

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

    ControlCommand('mmsys.cpl', '', $opt_1,"Check", "")

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

    ControlHide ('[CLASS:Volume Control]', '', $opt )

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

    ControlGetFocus("sndvol32.exe")
    ControlCommand('[CLASS:Volume Control]', '', $opt,"IsEnabled", "")
    ControlCommand('[CLASS:Volume Control]', '', $opt,"unCheck", "")
    ;ControlCommand('[CLASS:Volume Control]', '', $opt,"unCheck", "")
    ;ControlCommand ( "title", "text", controlID, "command" [, "option"] )

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

    Sleep (5000)

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

    If _isMute() = 0 Then ControlCommand('[CLASS:Volume Control]', '', $opt,"Check", "")

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

    ;ProcessClose("sndvol32.exe")

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

    ;MsgBox(0,"",_isMute())

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

    Func _isMute($opt = 1000)
    Local $retVal = 0, $ex = False
    If Not WinExists('[CLASS:Volume Control]') Then
    Run('sndvol32', '', @SW_HIDE)
    $ex = True
    EndIf
    If WinWait('[CLASS:Volume Control]', '', 2) = 0 Then Return -1
    $retVal = ControlCommand('[CLASS:Volume Control]', '', $opt, 'isChecked')
    If @error Then Return -2
    If $ex = True Then WinClose('[CLASS:Volume Control]')
    ;$retVal = 1
    Return $retVal
    EndFunc ;==>_isMute

    [/autoit]


    hier ein weiteren beispiel um die audioeingenschaften in der systemsteuerungl zu verändern!

    Spoiler anzeigen
    [autoit]


    ; sound deaktivieren und lautsprechersymbol ausblenden

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

    Opt('WinWaitDelay')
    Run("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,")
    WinWait("Eigenschaften von Sounds und Audiogeräte")
    WinSetState("Eigenschaften von Sounds und Audiogeräte","",@SW_HIDE)
    Opt('WinWaitDelay')

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

    Sleep(2000)

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

    Global $opt_1 = 6666
    Global $opt_2 = 6697
    Global $opt_3 = 12321
    Global $opt_4 = 1

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

    ControlCommand("Eigenschaften von Sounds und Audiogeräte","", $opt_1, "unCheck","")
    ControlCommand("Eigenschaften von Sounds und Audiogeräte","", $opt_2, "Check","")

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

    Sleep(1000)

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

    ControlCommand("Eigenschaften von Sounds und Audiogeräte","", $opt_3, "Check", "")
    ControlCommand("Eigenschaften von Sounds und Audiogeräte","", $opt_4, "Check", "")

    [/autoit]


    gruß gmmg

    Einmal editiert, zuletzt von gmmg (9. Oktober 2009 um 12:18)

  • Danke, aber scheint nichtmehr zu gehen die audio.au3. Werde ich wohl dann den Warnton mit Beep über PC Lautsprecher ausgeben müssen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Es gibt einen Registry eintrag über den sich das realisieren lässt, hab das auch in einem meiner Scripts gemacht, habs aber grad nicht vorliegen, deshalb mal eben ausm Kopf, sollte das nicht gehen kann ich nacher nochmal genauer nachschauen.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\AudioSrv
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\aec

    Hier die Startwerte ändern:
    0 boot
    1 system
    2 automatic
    3 manuel
    4 disable

    Also beide auf 4 ändern, aber diel alten werte merken ;)