Дорогие форумчане, не сочтите за труд и ткните мордой в простенький пример для реализации следующей хотелки. Есть текстовый файл (кодировка UTF-8) доступный по HTTP нужно иметь возможность открывать его в плагине и пролистывать клавишами P+ P- с пульта дюны. Как вывести на экран его часть я понял, а как реализовать функцию прокрутки (чтобы получить доступ к тому, что не влезает на первую страницу)? Наверняка есть какое-то простое решение для начинающих? Спасибо за внимание и... понимание))

Маленький Вопросик По Разработке
#1
Отправлено 21 January 2014 - 20:42
#2
Отправлено 21 January 2014 - 22:43
C этим проблема, пока решения не нашел.
Но в каком то плагине это было реализовано, не могу найти в каком.
Faq По Плеерам Dune - в процессе заполнения.
Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.
Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует
Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.
#3
Отправлено 22 January 2014 - 15:35
Благодарствую за ответ! Я тоже просматривал разные плагины и пытался найти похожую идею, пока приходит в голову посмотреть по аналогии того как делается в плагинах для просмотра фильмов онлайн (там такая фишка реализована для вывода описания фильма и работает перемотка текста клавишами). Чую что реализация должна быть достаточно простой поидее.
#4
Отправлено 29 January 2014 - 01:27
Ну так думаю что свойства этого поля заданы в SDK (или в прошивке, назвать можно как угодно), там вообще не указывается никаких параметров по этому поводу.
Ну если найдете решение будет не плохо.
Faq По Плеерам Dune - в процессе заполнения.
Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_logs". После чего начните пользоваться плагином, и в папке dune_plugin_logs появится файл лога. (папку создавать с нижними подчеркиваниями). К файлу лога добавляйте расширение txt иначе на форум не загрузить или упакуйте файл лога в zip архив.
Хотел бы настойчиво попросить всех изменить свои подписи до такого вида (указание модели и прошивки, это сэкономит время вам и авторам плагинов) Faq По Плеерам Dune - п.12 - Как сделать подпись на форуме :
Dune Pro 4K(tv292a) - всегда последняя
Dune Neo 4K T2 Plus Version - всегда последняя
Dune Solo 4K (всегда последняя) Сист.флешка присутствует
Обновите парсеры это означает кнопка попап пункт "обновить" на иконке плагина или перегрузите плеер или в настройках плагина Bazinga.
#5
Отправлено 19 June 2022 - 21:52
Добрый день,
Разрабатываю депо плагин, зародилась идея поставить пароль на включение плагина.
Через манифест перехватываю дефолтный авторезум.
<auto_resume> <enable>yes</enable> <action> <type>plugin_handle_user_input</type> <params> <handler_id>entry</handler_id> <entry_id>tv</entry_id> </params> </action> </auto_resume>
В обработчике событий подхватываю и сохраняю состояние авторезум
if (isset($user_input->resume_mode) && isset($user_input->resume_media_url)) { hd_print("Resume state detected"); $media_url = MediaURL::decode($user_input->resume_media_url); $media_url->group_id = $user_input->resume_tv_group; $media_url->channel_id = $user_input->resume_tv_channel; $media_url->archive_tm = ((time() - $user_input->resume_tv_archive_tm) < 259200) ? $user_input->resume_tv_archive_tm : -1; $media_url->is_favorite = $user_input->resume_tv_is_favorite; $this->autoResume = $media_url; } if (isset($user_input->entry_id)) { if ($user_input->entry_id === 'setup') { return ActionFactory::open_folder(); } elseif ($user_input->entry_id === 'tv') { $customer_id = isset($plugin_cookies->customer_id) ? $plugin_cookies->customer_id : ''; $startup_pass = isset($plugin_cookies->startup_pass) ? $plugin_cookies->startup_pass : ''; //$customer_password = isset($plugin_cookies->customer_password) ? $plugin_cookies->customer_password : ''; if (empty($customer_id)) { return ActionFactory::show_dialog('Authorization data', DemoSetupScreen::do_get_edit_subscription_defs($plugin_cookies), true); } elseif (!empty($startup_pass)) { return ActionFactory::show_dialog('Startup Password', DemoSetupScreen::enter_startup_password_defs($plugin_cookies), true); } elseif (isset($this->autoResume)) { $media_url = $this->autoResume; $this->autoResume = NULL; return ActionFactory::tv_play($media_url); } else { return ActionFactory::open_folder(); } } }
далее если надо спрашиваю пароль (или не спрашиваю когда отключён) и выполняю tv_play;
return ActionFactory::tv_play($media_url);
всё работает как часы, возвращает как к каналам, так и к архиву, НО если после возращения нажать "return", выкинет из плагина в интерфейс дюны. Подозреваю, так как запуская плагин, ни разу не был вызван open_folder.
пробовал сделать так, подсмотрев у других:
elseif (isset($this->autoResume)) { // auto resume without startup password (default route) $add_params['initial_media_url'] = $this->autoResume->get_raw_string(); $add_params['resume_object'] = $this->autoResume; return ActionFactory::open_folder(null, null, UserInputHandlerRegistry::create_action($this, 'tv_play', $add_params)); } /* Later */ else if ($user_input->control_id === 'tv_play' && $user_input->handler_id === 'entry') { $this->autoResume = NULL; return ActionFactory::tv_play($user_input->resume_object); }
стоит сказать, что я перепробовал много разных вариантов.
при таком подходе resume кнопка выкинет к папкам, но сам резум открыв канал Х не будет учитывать архив и если далее OK и стрелками выбрать канал Y (не заходя в категории, тоесть без кнопки ретурн), и снова выключить + включить приставку он вернётся опять к X. Вообщем костыли.
Я до сих пор не понял почему так, возможно open_folder что-то перезаписывает, возможно я что-то упускаю. Уже давно экспериментирую с кодом.
Вопрос, как бы вы это реализовывали? - что я упускаю.
Есть ли способ перехватить нажатие кнопки ретурн на пульте после резума, и насильно направить его в нужный экран/папку? Я не нашёл где идёт обработка экрана воспроизведения, в прошивке я полагаю. - подумал это тоже вариант.
Не подскажете, если ли способ мониторить / вызывать экраны внеочередно?
Прошу прощения за офтоп - не могу создать отдельную тему.
#6
Отправлено 21 June 2022 - 12:34
2) Кнопку ретурн можно перехватывать, но в режиме воспроизведения на нее навешан функционал, который вы не сможете восполнить вручную. Поэтому этот путь тупиковый.
Dune HD Real Vision 4K (230929_0206_r21)
Dune HD 303D (190919_0242_r11) Сист. флешка присутствует, тестовая
-----------------------------------
Keenetic Giga (KN-1010)
Все мои (и не только) плагины Dune HD
Гранд обзор Dune HD Pro One 8K Plus
Краткий обзор Dune HD Pro 4K II
Краткий обзор Dune HD Neo 4K с картинками
(ЮMoney для благодарностей)
#7
Отправлено 11 August 2022 - 15:24
Добрый день, очень интересно