Страница 1 из 2

Листинг каналов ТВ и остановка (голосом)

Добавлено: Вт апр 18, 2017 1:22 pm
alekszaytsev@mail.ru
Идея далеко не новая наверное , сказать "Алиса , полистай каналы" и что бы МЖДМ листал каналы на телевизоре , и самое главное при словах "Алиса стоп" останавливался. Я создал глобальную переменную и до начала листинга присваиваю ей значение 0 , затем создал шаблон поведения на слово "Стоп" с присваиванием этой переменной значения 1 , в цикле листинга сделал получение значения этой переменной до переключения на следующий канал и если 1 то остановка листинга (break). Так как останавливаться ни чего не хочет , в процессе дебага выявил что единица не передается внутрь цикла. Подскажите кто в курсе как решить, или может все проще чем я думал и давно есть готовое решение, то киньте ссылку пожалуйста...

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Вт апр 18, 2017 3:57 pm
lanket
alekszaytsev@mail.ru писал(а):Идея далеко не новая наверное , сказать "Алиса , полистай каналы" и что бы МЖДМ листал каналы на телевизоре , и самое главное при словах "Алиса стоп" останавливался. Я создал глобальную переменную и до начала листинга присваиваю ей значение 0 , затем создал шаблон поведения на слово "Стоп" с присваиванием этой переменной значения 1 , в цикле листинга сделал получение значения этой переменной до переключения на следующий канал и если 1 то остановка листинга (break). Так как останавливаться ни чего не хочет , в процессе дебага выявил что единица не передается внутрь цикла. Подскажите кто в курсе как решить, или может все проще чем я думал и давно есть готовое решение, то киньте ссылку пожалуйста...
А кто листатет каналы?
То есть какойто проще вы даёте команду листать, можете сказать стоп. Какой проге , кому?

Отправлено с моего Redmi Note 3 через Tapatalk

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Вт апр 18, 2017 4:31 pm
alekszaytsev@mail.ru
Листает скрипт управляющий Broadlinkом в котором прописано повторять отправку сигнала "Channel+" каждые 5 секунд (Листать не проблема , проблема остановить в нужном месте).
Шаблон поведения "Полистай каналы"
1. Прописывается глобальной переменной (ListStop) = 0
2. Начинаем цикл (for) бесконечный или конечный сколько каналов.
3. Пауза 4 сек.
4. Проверяем состояние ListStop , если = 1 то останавливаем цикл (break)
5. Отдаем команду Broadlinkу "Channel+"

Шаблон поведения "Стоп"
1. Прописывается глобальной переменной (ListStop) = 1

По идее все должно работать и во время переключения каналов если сказать "Стоп" состояние переменной изменяется , я проверял обновляя страницу. Но внутрь цикла это состояние не передается , пробовал 6. пунктом делать say ("Равно ListStop",2); что бы проговаривалось состояние переменной. И оно все время равно 0.

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Вт апр 18, 2017 4:40 pm
Chainik
А как вы получаете значение глобальной переменной ListStop внутри цикла? Так?

Код: Выделить всё

$value = gg('ListStop'); 

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Вт апр 18, 2017 5:19 pm
alekszaytsev@mail.ru
Верно

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Вт апр 18, 2017 5:21 pm
lanket
alekszaytsev@mail.ru писал(а):Листает скрипт управляющий Broadlinkом в котором прописано повторять отправку сигнала "Channel+" каждые 5 секунд (Листать не проблема , проблема остановить в нужном месте).
Шаблон поведения "Полистай каналы"
1. Прописывается глобальной переменной (ListStop) = 0
2. Начинаем цикл (for) бесконечный или конечный сколько каналов.
3...
Так может в этом и проблема.
Уже обсуждали проблемы долгоиграющих скриптов.

Гуру советуют таймерами пользоваться.
Может имеет смысл выполнять цикл запуском самого себя по таймеру?

Отправлено с моего Redmi Note 3 через Tapatalk

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Вт апр 18, 2017 5:46 pm
Chainik
Когда решал аналогичную по логике (но не по конечным действиям) задачу, у меня заработал вариант со скриптом, перезапускающим самого себя по таймеру. Помню, тоже пытался по-началу делать циклом, но что-то там не задалось...

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Ср апр 19, 2017 8:47 am
slgeo
Со спутниковым ресивером на энигме проще и удобнее, называю сам канал и МД переключает, также и листаю командами "Список каналов","Вверх", "Вниз", "Отмена", "Программа передач". Пример реализации у меня в Connect-е.

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Ср апр 19, 2017 9:22 am
nick7zmail
ну во первых не

Код: Выделить всё

$value = gg('ListStop');
а

Код: Выделить всё

$value = gg('Объект.ListStop');
Во-вторых gg надо обязательно каждый раз в теле цикла делать.

Если не поможет, то проще реально с таймерами.
SetTimeOut(); функция, посмотрите по форуму примеры.
А для остановки clearTimeOut используйте.

Re: Листинг каналов ТВ и остановка (голосом)

Добавлено: Чт апр 20, 2017 7:53 am
alekszaytsev@mail.ru
slgeo писал(а):slgeo

Уважаемый slgeo я безумно рад что у Вас такой крутой ресивер , но переключение как у Вас у меня давно реализовано (и не нужен вообще ресивер , нужен источник IR Lirc в моем случае Broadlink). Мне простите просто влом постоянно говорить Можордомо номер канала или в "В верх","В низ".

Вопрос решен - сделано таймером