Cześć.
Wychodzi na to, że jesteście ostatnią deską ratunku. Otóż piszę w .bat pewien skrypt, do którego działania niezbędne jest generowanie komunikatów głosowych z tekstu. Można to osiągnąć na kilka sposobów. Np. napisać skrypt w języku vbs:
Kod:
dim speechobject
set speechobject=createobject("sapi.spvoice")
speechobject.speak "test"
który można zapisać do pliku z rozszerzeniem .vbs i uruchamiać z poziomu linii komend na przykład.
Innym rozwiązaniem jest pobranie i wrzucenie do c:\Windows\System32 pakietu nircmd:
http://www.nirsoft.net/utils/nircmd.htmla następnie wykonywanie z dowolnego miejsca poleceń w stylu:
Kod:
nircmd speak text "test"
Wszystko działa pięknie i ładnie, do póki nie chcemy, by skrypty uruchamiały się z poziomu Harmonogramu Windows.
Przykład:
Skrypt: d:\test.bat
Kod:
@echo off
>>"d:\%date%-%COMPUTERNAME%-%USERNAME%.log" echo %date%_%time: level1
call d:\powitanie-Mariusz.bat
>>"d:\%date%-%COMPUTERNAME%-%USERNAME%.log" echo %date%_%time: level2
Skrypt: d:\powitanie-Mariusz.bat
Kod:
@echo off
c:\Windows\System32\nircmd mutesysvolume 0
c:\Windows\System32\nircmd setsysvolume 20000
c:\Windows\System32\nircmd speak text "test"
Uruchamiam z palca d:\test.bat
Słyszę komunikat i znajduję log: d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log o treści:
Kod:
2016-11-06_time: level1
2016-11-06_time: level2
Usuwam log d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log. Idę do Harmonogramu zadań. Tworzę nowe zadanie:
Uruchamiam.
Został stworzony log: d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log
Z zawartością:
Kod:
2016-11-06_time: level1
2016-11-06_time: level2
Skrypt uruchamia się, ale bez komunikatu głosowego...
Elektroda wymiękła. Trzepak też.
Proszę was o pomoc.
Pozdrawiam
Mariusz
PS. wywaliłem @echo off i zrobiłem przekierowanie komunikatów do pliku:
Efekt:
Kod:
C:\Windows\system32>echo 2016-11-06_19:48:18,05: level1 1>>"d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log"
C:\Windows\system32>call d:\powitanie-Mariusz.bat
C:\Windows\system32>c:\Windows\System32\nircmd mutesysvolume 0
C:\Windows\system32>c:\Windows\System32\nircmd setsysvolume 20000
C:\Windows\system32>c:\Windows\System32\nircmd speak text "test"
C:\Windows\system32>echo 2016-11-06_19:48:18,20: level2 1>>"d:\2016-11-06-LAPTOP-LENOVO-Mariusz.log"
C:\Windows\system32>pause
Press any key to continue . . .
Niby błędów brak, a komunikat z głośników nie leci (gdy skrypt wyzwlany z harmonogramu zadań).