Что нового

[Автоматизация] Программа для автоматизации громкости по времени

ASSYS

Новичок
Сообщения
2
Репутация
0
Версия AutoIt: 3.3.6.1

Описание: Программа для автоматизации громкости по времени! Например уменьшение громкости в период когда пара до 10-20%, когда перерыв увеличения громкости до 80-100% Время указаны в скрипте

Примечания: Желательно чтобы было так как работает метод
Switch @ HOUR
Case 8 To 9
только
@ hour = 8.15 To 9.35

До
Знаю что скрипт корявый

Код:
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)

While 0 <=1000000
$i=0
Global $Hour1 	= @HOUR = 08 And @MIN = 15; 8.15
Global $Hour1_1 = @HOUR = 09 And @MIN = 35; 9.35
Global $Hour2	= @HOUR = 09 And @MIN = 45; 9.45
Global $Hour2_2 = @HOUR = 11 And @MIN = 05;11.05
Global $Hour3   = @HOUR = 11 And @MIN = 25;11.25 
Global $Hour3_3 = @HOUR = 12 And @MIN = 45;12.45
Global $Hour4   = @HOUR = 12 And @MIN = 50;12.50 
Global $Hour4_4 = @HOUR = 14 And @MIN = 10;14.10
Global $Hour5   = @HOUR = 14 And @MIN = 15;14.15 
Global $Hour5_5 = @HOUR = 15 And @MIN = 35;15.35
Global $Hour6   = @HOUR = 15 And @MIN = 55;15.55 
Global $Hour6_6 = @HOUR = 17 And @MIN = 15;17.15
Global $Hour7 	= @HOUR = 04 And @MIN = 32;14.15
Global $Hour7_7 = @HOUR = 04 And @MIN = 30;15.35
;~ Global $Hour8 = @HOUR = 14 And @MIN = 15;14.15
;~ Global $Hour8_8 = @HOUR = 11 And @MIN = 25 ;15.35
$i=$i+1
Select
Case $Hour1 Or $Hour2 Or $Hour3 Or $Hour4  Or $Hour5 Or $Hour6  Or $Hour7 ; Or $Hour8
	ToolTip('Пара ' & @HOUR & ':' & @MIN &' '&$i,0,0)
	Send("{VOLUME_DOWN 40}")
	Sleep(60000)	
Case $Hour1_1 Or $Hour2_2 Or $Hour3_3 Or $Hour4_4  Or $Hour5_5 Or $Hour6_6  Or $Hour7_7  ;Or $Hour8_8
	ToolTip('Перерва ' & @HOUR & ':' & @MIN &' '&$i,0,0)
	Send("{VOLUME_UP 40}")
	Sleep(60000)
EndSelect

WEnd
После
Почему не работает SoundSetWaveVolume () на ХР. И как сделать это на Win7 :'(
Код:
#NoTrayIcon
TraySetIcon(@ProgramFilesDir & "\JetAudio\JetAudio.exe",452) ;Присвоюю значок JetAudio
Global $letter
Switch @WDAY
    Case 1
        $week = "Неділя"
    Case 2
        $week = "Понеділок"
    Case 3
        $week = "Вівторок"
    Case 4
        $week = "Середа"
    Case 5
        $Week = "Четвер"
    Case 6
        $week = "П'ятниця"
    Case 7
        $week = "Субота"
EndSwitch
;~ 
;Заборона запуска музики в Суботу і Неділю
If @WDAY=7 Or @WDAY=1 Then ;7 - Субота 1-Неділя
Sleep(30000)
    Shutdown(9)
Else
Run(@ProgramFilesDir & "\JetAudio\JetAudio.exe", "", @SW_HIDE);Запускаю програму
Sleep(30000)
Send("{MEDIA_PLAY_PAUSE}")
While 1
Global $time = @HOUR*60+@MIN
;~ Запуск регулятора гучності           
;На пару
    $TimeShow = @HOUR & ':' & @MIN & ':' & @SEC
    Switch $time
        Case 7*60+59  To 8*60+14
                $letter="Запуск" 
        Case 8*60+15  To 9*60+34, 9*60+45  To 11*60+04, 11*60+25  To 12*60+44, 12*60+50  To 14*60+09, 14*60+15  To 15*60+34, 15*60+55  To 17*60+14, 17*60+20  To 18*60+39, 18*60+45  To 20*60+04
;~      Case 18*60+45 To 18*60+59 ;тест
                $letter = 'Пара'
            If @OSVersion="WIN_XP" Then ;Перевірка запущеної Ос
                SoundSetWaveVolume(40)
            ElseIf @OSVersion="WIN_7" Then ;Перевірка запущеної Ос
                $letter = $letter & ' (В стадії розробки для Windows 7)'
            EndIf
;На перерву    
        Case 9*60+35 To 9*60+44, 11*60+05 To 11*60+25, 12*60+45 To 12*60+49, 12*60+45 To 12*60+49, 14*60+10 To 14*60+14,  15*60+35 To 15*60+54, 17*60+15 To 17*60+19, 18*60+40 To 18*60+44, 20*60+05 To 20*60+14
;~      Case 19*60+00 To 19*60+30 ;тест
                $letter = 'Перерва'
            If @OSVersion="WIN_XP" Then ;Перевірка запущеної Ос
                SoundSetWaveVolume(100)
            ElseIf @OSVersion="WIN_7" Then ;Перевірка запущеної Ос
                $letter = $letter & ' (В стадії розробки для Windows 7)'
            EndIf
;Примусове виключення компютера в 20:15    
        Case 20*60+15
                Shutdown(9)
        Case Else
            $letter = 'Проблема'
            Beep(500,100)
            Sleep(500)
            Beep(500,100)
    EndSwitch

                ToolTip($letter &' '& $TimeShow &" "& $week) ;Вивід інформації під курсором
                Sleep(20);Затримка 20мс для розгрузки проца
WEnd
EndIf
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
ASSYS,
Есть тег Autoit для кода (правее #). Исправил сам, т.к. это Ваше первое сообщение на форуме. В будущем будьте, пожалуйста, внимательнее.
 

rusreg79

Продвинутый
Сообщения
159
Репутация
57
как пример такой вариант можно написать:
Код:
Global $lock = True
While 1
	Select
		Case @HOUR*60+@MIN >= 13*60+15 And @HOUR*60+@MIN <= 14*60+00 ; c 13:15 до 14:00 громкость понижать
				If $lock Then; условие для однократного нажатия
					Send("{VOLUME_DOWN 40}")
					$lock = False
				EndIf

		Case @HOUR*60+@MIN >= 16*60+10 And @HOUR*60+@MIN <= 17*60+00 ; c 16:10 до 17:00 громкость понижать
				If $lock Then; условие для однократного нажатия
					Send("{VOLUME_DOWN 40}")
					$lock = False
				EndIf





		Case	Else ; В остальное время громкость повышать
			If Not $lock Then
				Send("{VOLUME_UP 40}")
				$lock = True
			EndIf
	EndSelect

	Sleep(1000)
WEnd
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Можно так сделать:
Код:
While 1
	$Time = @HOUR & ':' & @MIN & ':' & @SEC
	Switch $Time
		Case '8:15:00', '9:45:00', '11:25:00', '12:50:00', '14:15:00', '15:55:00', '14:15:00'
			Send("{VOLUME_DOWN 40}")
		Case '9:35:00', '11:05:00', '12:45:00', '14:10:00', '15:35:00', '17:15:00', '15:35:00'
			Send("{VOLUME_UP 40}")
	EndSwitch
WEnd
 
Автор
A

ASSYS

Новичок
Сообщения
2
Репутация
0
[Автоматизация] Re: [Автоматизация] Программа для автоматизации громкости по времени

Почему не работает SoundSetWaveVolume () на ХР. И как сделать это на Win7

Код:
#NoTrayIcon
TraySetIcon(@ProgramFilesDir & "\JetAudio\JetAudio.exe",452) ;Присвоюю значок JetAudio
Global $letter
Switch @WDAY
	Case 1
		$week = "Неділя"
	Case 2
		$week = "Понеділок"
	Case 3
		$week = "Вівторок"
	Case 4
		$week = "Середа"
	Case 5
		$Week = "Четвер"
	Case 6
		$week = "П'ятниця"
	Case 7
		$week = "Субота"
EndSwitch
;~ 
;Заборона запуска музики в Суботу і Неділю
If @WDAY=7 Or @WDAY=1 Then ;7 - Субота 1-Неділя
Sleep(30000)
	Shutdown(9)
Else
Run(@ProgramFilesDir & "\JetAudio\JetAudio.exe", "", @SW_HIDE);Запускаю програму
Sleep(30000)
Send("{MEDIA_PLAY_PAUSE}")
While 1
Global $time = @HOUR*60+@MIN
;~ Запуск регулятора гучності			
;На пару
	$TimeShow = @HOUR & ':' & @MIN & ':' & @SEC
	Switch $time
		Case 7*60+59  To 8*60+14
				$letter="Запуск" 
		Case 8*60+15  To 9*60+34, 9*60+45  To 11*60+04, 11*60+25  To 12*60+44, 12*60+50  To 14*60+09, 14*60+15  To 15*60+34, 15*60+55  To 17*60+14, 17*60+20  To 18*60+39, 18*60+45  To 20*60+04
;~ 		Case 18*60+45 To 18*60+59 ;тест
				$letter = 'Пара'
			If @OSVersion="WIN_XP" Then ;Перевірка запущеної Ос
				SoundSetWaveVolume(40)
			ElseIf @OSVersion="WIN_7" Then ;Перевірка запущеної Ос
				$letter = $letter & ' (В стадії розробки для Windows 7)'
			EndIf
;На перерву	
		Case 9*60+35 To 9*60+44, 11*60+05 To 11*60+25, 12*60+45 To 12*60+49, 12*60+45 To 12*60+49, 14*60+10 To 14*60+14,  15*60+35 To 15*60+54, 17*60+15 To 17*60+19, 18*60+40 To 18*60+44, 20*60+05 To 20*60+14
;~ 		Case 19*60+00 To 19*60+30 ;тест
				$letter = 'Перерва'
			If @OSVersion="WIN_XP" Then ;Перевірка запущеної Ос
				SoundSetWaveVolume(100)
			ElseIf @OSVersion="WIN_7" Then ;Перевірка запущеної Ос
				$letter = $letter & ' (В стадії розробки для Windows 7)'
			EndIf
;Примусове виключення компютера в 20:15	
		Case 20*60+15
				Shutdown(9)
		Case Else
			$letter = 'Проблема'
			Beep(500,100)
			Sleep(500)
			Beep(500,100)
	EndSwitch

				ToolTip($letter &' '& $TimeShow &" "& $week) ;Вивід інформації під курсором
				Sleep(20);Затримка 20мс для розгрузки проца
WEnd
EndIf
 
Верх