Интеграция скрипта и доработка текущего.

Добрый день.

Существует готовая библиотека для синтеза текста в речь, например http://responsivevoice.org/ по работе очень прост:

подключаем библиотеку, а далее коммандой responsiveVoice.speak(getText(), 'Russian Female'); где getText то что мы добыли, мы получаем синтезированный текст. У них на веб-сайте достаточно понятный раздел API но я все равно Системный администратор и посредственное отношение имею к JS.

Собственно мне надо следующее:

- по клику по ссылке активировать onclick() функцию запускающую синтез речи в режим ожидания события. Возможно это проще сделать при клике onclick() добавить блоку DIV из которого предпологается чтение добавить тег например audio_on, при повторном клике убрать тег audio_on (addClass, removeClass) и сделать это по принципу "ЕСЛИ естьтег ТО синтез ЕСЛИНЕТ тоничего"

- при включении функционала синтеза речи единоразово исполнить следующее: responsiveVoice.speak('Для чтения текста. Выделите мышкой нужный фрагмент', 'Russian Female');

- далее у надо запустить функцию чтения из определенных тегов со страницы например P, LI, A и т.п. Делается это следующей функцией:

$('a').mouseenter(function() { // при установке курсора на нужном теге запускаем функцию 
  responsiveVoice.cancel(); // навсякий случай отменяем все текущие синтезы со страницы
  responsiveVoice.speak($(this).text()); // воспроизводим текст из нужного тега
// думаю надо сделать массим с нужными тегами a, li, input и т.п. те которые могут являтся ссылками меню

- вставить функционал чтения по выделению мыши:

function getSelectionText() {
    var text = "";
    if (window.getSelection) {
        text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") { // для IE поправочка
        text = document.selection.createRange().text;
    }
    return text;
}
$(document).ready(function (){ // при запуске страницы запускаем функцию
   $(document).mouseup(function (e){ // берем текст при действии мышки
    responsiveVoice.cancel(); // останавливаем все текущие синтезы
    responsiveVoice.speak(getSelectionText()); // воспроизводим из добытого текста в переменной getSelectionText
   })
});

Я к сожалению сам сделать не могу, у меня нет знаний в синтаксисе JS я пробовал, но при запуске скрипта у меня в консоли везде ошибки, я пробовал отлаживать пошагово но все равно какая то шляпа.

Ну и еще раз емко что нужно:

1. Запускать и останавливать работу синтеза речи по клику по тегу a или input или button не имеет разницы.

2. Читать текст при наведении мыши из нужных тегов a, li и т.п. возможно они являются ссылками

3. Читать текст при выделении его мышкой

4. При включении работы синтеза речи воспроизвести мини инструкцию, "Выделите мышкой текст для ..... блаблабла"

 

 

З.Ы. Есть образец реализации похожего скрипта, я его прикреплю к проекту. Там реализована версия для слабовидящих с синтезом речи, они писали на jQuery. Их скрипт работает по следующей цепочке "запускаем -> убираем теги разрешающие чтение -> ставим теги разрешающие чтение -> ждем -> при клике по блокам указанным -> проверяем есть ли ссылка -> если есть не даем перейти и запоминаем ее -> воспроизводим текст из объекта по которому кликнули -> вопроизводим подсказку что для перехода по ссылке нажать еще раз -> ставим запомненную ссылку на место где кликали -> проверяем если кликнули по другой ссылке начинаем сначала ->"

Очень надеюсь на помощь. По цене договоримся. У меня над душой стоит нощальника который просит сделать то что я не умею. А надо. Россия что тут поделать(

Файлы:
4 200 ₽
Завершен
Предложения фрилансеров
Оставлять свои предложения по заказу могут только зарегистрированные пользователи с аккаунтом специалиста.

Войдите на сайт под своим именем.
Заказ завершен! Предложения по заказу больше не принимаются.
Как найти исполнителя?