Как заставить Windows говорить время в верхней части часа
Начиная с Windows XP, во всех версиях ОС Windows установлен Narrator.
Это может быть запрограммировано, чтобы говорить в приложениях.
Существует простой метод VBscript, позволяющий ему сказать что-то под управлением программы, например, если он получает файл, который указывает на слишком низкое напряжение на одном из регистраторов данных, Python, чтобы сказать это вслух, например, так:
import os
etc
os.exec("c:/users/Admin/python/lowvolt.vbs")
где lowvolt.vbs
выглядит так:
Dim sez, speech
sez = "Low Voltage on 24"
Set speech = CreateObject("sapi.spvoice")
speech.Speak sez
Wscript.Quit
Который прекрасно работает.
(Вы можете увидеть входные данные, построенные ЗДЕСЬ)
Было бы полезно, чтобы он также объявлял время в начале каждого часа.
Вопрос в заголовке - как это сделать?
2 ответа
Создайте текстовый файл VBscript с именем saytime.vbs
Dim speech, hr, sez
hr=hour(time)
if hr=0 then
hr = 12
end if
if hr>12 then
hr = hr - 12
end if
sez = hr & " O'clock"
Set speech = CreateObject("sapi.spvoice")
speech.Speak sez
Wscript.Quit
Затем настройте запланированное задание для его запуска.
Откройте Task Scheduler - нажмите Start, введите "scheduler", затем нажмите enter
На правой панели нажмите "Создать задачу..."
Дайте ему имя - возможно, "Say Time" - ниже, что вы увидите параметры безопасности по умолчанию, при которых он запускается только тогда, когда текущий пользователь вошел в систему.
Выберите (щелкните) на вкладке "Триггеры", затем кнопку "Создать..." - она будет установлена на Один раз.
Измените Время начала так, чтобы время выглядело как: 12:00:00, чтобы оно срабатывало в верхней части каждого часа.
Установите флажок "Повторять задачу каждый" - установите его на 1 час и на неопределенный срок.
Установите флажок "Остановить задачу, если она выполняется дольше, чем", и установите для нее значение 30 минут.
Нажмите ОК
Перейдите на вкладку "Действия", затем нажмите кнопку "Создать..." - откроется с действием, установленным для запуска программы.
Перейдите к вашему
saytime.vbs
файлНажмите ОК, затем ОК
Теперь с левой стороны нажмите "Библиотека планировщика заданий".
Найдите новую запись, щелкните ее правой кнопкой мыши и выберите "Выполнить".
Когда вы слышите голос, говорите время, когда вы знаете, что задание работает.
Вы также можете увидеть условия запуска.
На этом этапе ваша настройка завершена.
Вуаля - ваш компьютер будет говорить час.
Обратите внимание, что Рассказчик устанавливает реальный голос, который вы услышите. Он имеет несколько встроенных опций для мужских и женских голосов.
Чтобы настроить параметры голоса диктора (Microsoft)
Есть методы для загрузки большего количества голосов, которые будут работать с Рассказчиком:
Получите больше голоса Microsoft для преобразования текста в речь (Usersuper.ru)
Лучшие бесплатные голоса Windows Narrator, которые вы можете использовать (Zero2000.com)
Я настроил свои машины Windows и Ubuntu так, чтобы все они были настроены на Master Clock, и научил их говорить. Слышать, как они объявляют время одновременно, очень приятно:
Кроме того, для любителей VBscript это ссылка на сценарий VBS, который может воспроизводить файлы MP3 под управлением программы:
Гениальный сценарий, спасибо! Я немного модифицировал сценарий, включив в него объявления об утреннем/вечернем и минутном сообщениях, чтобы вы могли запускать его в любое время:
Dim speech, hr, sez, mt, pm
hr=hour(time)
mt=minute(time)
pm="pea em"
if hr=0 then
hr = 12
elseif hr>12 then
hr = hr - 12
elseif hr < 12 then
pm="ay em"
end if
if mt=0 then
sez = "It's " & hr & " " & pm
elseif mt < 10 then
sez = "It's " & hr & " oh " & mt & " " & pm
else
sez = "It's " & hr & " " & mt & " " & pm
end if
Set speech = CreateObject("sapi.spvoice")
speech.Speak sez
Wscript.Quit