Отправляет email-рассылки с помощью сервиса Sendsay

[TC] скрипт на переключение на nospeech и обратно

всем привет. возможно-ли написать скрипт что-бы по горячим клавишам переключатся
на nospeech и обратно? если да то может кто-нибудь смог-бы его сделать и выложить
для общего пользования? думаю многим пригодится.
с уважением Николай.
icq 275023320
skype lapsus3500

Ответить   Sun, 25 Nov 2007 12:58:02 +0300 (#706144)

 

Ответы:

Здравствуйте.
Николай пишет:

полностью универсальный скрипт тут вряд ли получится, поскольку разные люди
переключаются на NoSpeech и обратно с разных синтезаторов. но можно
предложить скрипт с применением шаблона наподобие широко известных скриптов
для вставки подписи и электронного адреса. каждый юзер сможет вписать туда
синтезатор, который будет отправной и конечной точкой при переходах на
NoSpeech и обратно. сами же переходы будут происходить по одиночному и по
двойному нажатию выбранных юзером горячих клавиш.
болванка скрипта уже есть. остается узнать, а нужно ли это кому-нибудь.

С уважением, Ирбис.

Ответить   "irbis" Sun, 25 Nov 2007 18:49:12 +0300 (#706208)

 

Мне представляется, что это надуманная проблема.
В версиях 5 и выше можно при помощи функции GetActiveSynthInfo()получить короткое
имя и другие параметры синтезатора, сохранить в глобальной переменной и вернуться
на этот синтезатор из режима NoSpeech.
Успехов. Анатолий.

Ответить   "i_chay" Sun, 25 Nov 2007 21:17:47 +0400 (#706228)

 

Здравствуйте, i_chay.

Вы писали 25 ноября 2007 г., 22:17:47:

а примерную конструкцию скрипта вы бы не могли привести.
а то с переменными я не очень дружу.

Ответить   Mon, 26 Nov 2007 02:42:24 +0500 (#706270)

 

Здравствуйте.

Это невозможно, так как в этом скрипте слишком мало строк, чтобы еще и примерную
конструкцию создавать:))

globals

string gShortName

const

__NOSPEECH__ = "NoSpeech"

Script SetNoSpeechByTouch ()

var

string sShortName,

string sLongName,

string sDriverName

GetActiveSynthInfo (SShortName, sLongName, sDriverName)

if sShortName == __NOSPEECH__ then

SetSynth (gShortName)

else

let gShortName = sShortName

SetSynth (__NOSPEECH__)

endif

EndScript

Успехов. Анатолий.

Ответить   "i_chay" Mon, 26 Nov 2007 05:10:07 +0400 (#706284)

 

Здравствуйте.
Анатолий пишет:

приведенный скрипт решает задачу почти на 100 процентов. не хватает только
универсальной конструкции для речевого сообщения при возврате от NoSpeech к
отправному синтезатору.
приведу концовку скрипта для тех, кому понадобится такое речевое
подтверждение. фрагмент должен содержать шесть непустых строк. особо
обратите внимание на первую, длинную строку. при пересылке она может
поделиться на две части, и их нужно будет потом соединить в одной строке.
If GetActiveSynthLanguage () =="Русский" || GetActiveSynthLanguage ()
=="Russian" Then

Say("привет",OT_string)

Else

Say("hello",OT_string)

EndIf

EndScript

С уважением, Ирбис.

Ответить   "irbis" Mon, 26 Nov 2007 10:17:36 +0300 (#706330)

 

Здравствуйте, уважаемые участники рассылки!

irbis, Вы пишете:

Стоп... А зачем так сложно-то?
В русификации к Джозу был подмешаны такие простые скрипты:

Script SetNoSpeech ()
SetSynth("2")
EndScript

И вся радость :).
Под псевдонимом
SetSynth("2")
скрывается синтезатор который под вторым номером прописан в Jfw.ini.
Чаще вторым как раз идёт тот самый Ноуспич.

То есть,
вот таких SetSynth'ов
много есть в файле
JAWS - [DEFAULT.JSS
(имеются ввиду русификации к Джозам, кроме последного фирменного Элитного Джоза)/

цифра в кавычках - это есть порядковый номер синтезатора.
И каждый такой скрипт ассоциирован с нувжным сочетанием клавиш,
что можно по-простому или посмотреть в файле
JAWS - [DEFAULT.JKM
или в диспетчере скриптов, встать на нужный скрипт и глянуть по CTRL+D, и в
любом из этих мест если что, перебить
сочетание клавиш. Очень же удобно, и без хитрых шаблонов. Прошу прощения, если
я чего не поняла, но, мне кажется, так оно гораздо проще.
Да, если не нравится идея с номером, был скрипт по названию.

Ответить   carrying_rain Mon, 26 Nov 2007 09:49:50 +0500 (#706298)

 

Здравствуйте.
carrying_rain пишет:

напомню, что Николай сделал запрос на универсальный сабжевый переключатель.
в чистом виде этого не было ни в одной руссификации. надеюсь, ему подойдут
варианты, предложенные в листе.
думаю, что привязка каждого синтезатора (а NoSpeech - это тоже своего рода
безмолвный синтезатор) к своим горячим клавишам со временем уйдет в прошлое.
например, можно легко переключаться между Говорящей мышью и Eloquence,
используя одно и то же сочетание клавиш. при таком подходе экономятся
удобные комбинации.
свежий пример - это sapi 5 свитчер. параллельно с этим драйвером можно
использовать синтезатор Катерина отдельно и английский голос от ScanSoft
отдельно. а переключаться между всеми тремя - одними и теми же клавишами.
только, чтобы не было путаницы, задать для каждого свое приветственное
сообщение.

С уважением, Ирбис.

Ответить   "irbis" Mon, 26 Nov 2007 12:14:53 +0300 (#706351)

 

Приветствую Николай.

Никакого скрипта для этой цели не нужно. В общем диспетчере клавиатуры
назначьте удобное сочитание клавиш на скрипт MuteSynthesizer. По умолчанию
на этот скрипт не назначена комбинация. Одно нажатие комбинации клавиш
отключает речь, а повторное нажатие включает речь снова. Причём включается
тот синтезатор, который был активен до отключения речи.
Евгений Корнев.

Ответить   Mon, 26 Nov 2007 17:37:17 +0700 (#706371)

 

Очень неудачный вариант особенно для бесплатной говорящей мыши. К тому же режим
не сохраняется при переключении на другое приложение.

Успехов. Анатолий.

Ответить   "i_chay" Mon, 26 Nov 2007 14:50:27 +0400 (#706375)

 

Здравствуйте.
Анатолий пишет:

этот вариант предлангался в неофициальных руссификациях, начиная с джавс
5.0. в принципе он неплохо действует для текущего приложения, в том числе
при работе с некоммерческой говорящей мышью. в отличие от переключения к
NoSpeech и обратно, скрипт MuteSynthesizer () построен на попеременной смене
SpeechOn() и SpeechOff(). при этом включение речи автоматически
озвучивается.
согласен, что данному скрипту не хватает универсальности. но, мне думается,
его вполне можно использовать для решения ограниченного круга задач.
здесь напрашивается аналогия с родным и неродным скриптами для перехода
между уровнями пунктуации. родной, четырехступенчатый скрипт хорошо
работает, но держит выбранный уровень только в текущем приложении.
неродной, бвухступенчатый скрипт может сохранять выбранный уровень при любых
переходах. на практике бывает нужен и тот, и другой вариант.

С уважением, Ирбис.

Ответить   "irbis" Mon, 26 Nov 2007 14:38:24 +0300 (#706386)