Как выполнять определенную функцию пока Алиса говорит

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Аватара пользователя
mag999
Сообщения: 20
Зарегистрирован: Вс окт 08, 2017 12:32 pm
Откуда: Черкассы

Как выполнять определенную функцию пока Алиса говорит

Сообщение mag999 »

Подскажите возможно ли как-то сделать такой алгоритм работы : перед голосовым сообщением запустить некоторую функцию (например gpio -1 write 8 1) и по завершении всего сообщения выполнить другую функцию (gpio -1 write 8 0) и аналогично с VLC плеером.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение tarasfrompir »

для этого есть - Общие настройки - обработчики - Before SAY (code):
там и пиши что тебе надо :!: :idea:
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
mag999
Сообщения: 20
Зарегистрирован: Вс окт 08, 2017 12:32 pm
Откуда: Черкассы

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение mag999 »

Или я что-то не так делаю но After SAY (code): исполняется не дожидаясь конца фразы, а мне нужно чтобы код сработал после полного завершения сообщения.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение tarasfrompir »

mag999 писал(а): Пн ноя 26, 2018 12:56 am Подскажите возможно ли как-то сделать такой алгоритм работы : перед голосовым сообщением запустить некоторую функцию (например gpio -1 write 8 1) и по завершении всего сообщения выполнить другую функцию (gpio -1 write 8 0) и аналогично с VLC плеером.
Для старта в сообщении написано ПЕРЕД голосовым сообщением
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение tarasfrompir »

mag999 писал(а): Пн ноя 26, 2018 12:48 pm Или я что-то не так делаю но After SAY (code): исполняется не дожидаясь конца фразы, а мне нужно чтобы код сработал после полного завершения сообщения.
Афтерсей - не ожидает завершения команды - он срабатывает после события... а не воспроизведения команды
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
mag999
Сообщения: 20
Зарегистрирован: Вс окт 08, 2017 12:32 pm
Откуда: Черкассы

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение mag999 »

значит обработчик не подходит или подходит частично в роли запуска exec ("gpio write 7 1 ").
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение tarasfrompir »

mag999 писал(а): Пн ноя 26, 2018 1:05 pm значит обработчик не подходит или подходит частично в роли запуска exec ("gpio write 7 1 ").
просто надо правильно написать сам обработчик - для начала надо взять длинну сообщения - для этого есть функция getMediaDurationSeconds которая берет время воспроизведения команды, потом надо подождать это время и соответственно запустить ваш екзек...
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
mag999
Сообщения: 20
Зарегистрирован: Вс окт 08, 2017 12:32 pm
Откуда: Черкассы

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение mag999 »

Еще понятия не имею как это сделать но спасибо за ответ)))
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение Logrus »

tarasfrompir1 писал(а): Пн ноя 26, 2018 12:54 pm
mag999 писал(а): Пн ноя 26, 2018 12:48 pm Или я что-то не так делаю но After SAY (code): исполняется не дожидаясь конца фразы, а мне нужно чтобы код сработал после полного завершения сообщения.
Афтерсей - не ожидает завершения команды - он срабатывает после события... а не воспроизведения команды
вот а можно на него функцию выше (она недавно появилась) сразу в ядре повесить?!
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Как выполнять определенную функцию пока Алиса говорит

Сообщение tarasfrompir »

mag999 писал(а): Пн ноя 26, 2018 1:25 pm Еще понятия не имею как это сделать но спасибо за ответ)))
начни с простого
sleep(5); exec ("gpio write 7 1 ");
Спасибо нам ПОМОЖЕТ..!
Ответить