Планировщик обычно используется во всех видеотабло, именно он отвечает за показ Списков воспроизведения. Планировщиков в конфигурации может быть несколько, например табло состоящих из нескольких частей, для которых требуется независимый вывод. С помощью планировщика можно загружать списки воспроизведения, логотипы, приостанавливать воспроизведение, обновлять журнал воспроизведения и т.д. Еще одним замечательным свойством планировщика, является выполнение пользовательских скриптов, заданных в плейлисте. Таким образом в плейлист, после заданного клипа, можно вставить скрипт, если кликнуть мышкой по стрелке на кнопке "Вставить новый элемент" и выбрать "Мастер заданий".
Далее будем придерживаться соглашения, что код будет написан моноширинным шрифтом, вместо object должно стоять имя компонента, указанное в конфигурационном файле (не забудьте указать перед ним Application). В квадратные скобки будут браться необязательные параметры.
Программный идентификатор: progid:NISheduler.ShedulerUI
Примечание: Доступ из скриптов к объекту Планировщик на самом деле происходит через объект NISheduler.ShedulerUI, который агрегирует собственно сам Планировщик.Свойства:
- object.AutoRunFile [= строка]
Файл со списком автозагрузки (autorun.xjob)
Изменяя содержимое файла, можно добиться, что при следующем запуске будет загружен нужный плейлист - object.Playlist [= строка]
Текущий плейлист. При присваивании аналогичен методу LoadPlayList(имяФайла, False, True) - object.Logos [= строка]
Файл со списком логотипов. - object.Audio [ = булево значение (True|False)]
Вывод звука. - object.StretchMode [= строка]
Тип масштабирования для видеороликов.
Допустимые значения:
"stretch" - Растянуть под размер экрана.
"crop" - Без масштабирования, видео обрезается под размер экрана.
"preserveaspectratio" или "preserve" - Сохранить пропорции с рамкой. Видео на весь экран с сохранением пропорций. По краям могут возникнуть черные поля, если не пропорции видео не совпадают с экраном. Не обрезает.
"preserveaspectratio_noletterbox" или "noletterbox" - Сохранить пропорции. Видео на весь экран с сохранением пропорций. Может обрезать края, если не пропорции видео не совпадают с экраном. Значение по умолчанию. - object.LogolistActive [= булево значение]
Показывать логотипы.
Методы:
- object.LoadPlayList имяФайла, безусловный, выполнить
Загружает плейлист.
имяФайла - Строка. Файл .xjob с плейлистом.
безусловный - Булево значение. Если True, то немедленный запуск плейлиста; False - будет доигран текущий клип и затем загружен новый плейлист.
выполнить - Булево значение. Запустить проигрыватель. - object.BackupAndEraseLog имяФайла
Сохранить текущий файл журнала под именем имяФайла и очистить журнал. - object.PausePlaylist
Приостановить вывод плейлиста. - object.ResumePlaylist
Возобновить показ плейлиста. - object.PauseAll
Приостановить показ (Плейлист/Логотипы/Видеозахват/Тест). - object.ResumeAll
Возобновить показ. - object.RotateLogs
Выполнить ротацию журнала (новое имя на основе текущей даты/месяца). - object.LoadLogoList имяФайла, выполнить
Загрузить логотипы.
имяФайла - Строка. Имя файла плейлиста с логотипами.
выполнить - Булево значение. Начать показ логотипов.
Примеры использования:
В "Мастере заданий" представлены несколько примеров использования объекта Планировщик: Сменить/Очистить список воспроизведения, Сменить/Очистить список логотипов, Безусловная смена списка воспроизведения.
Предположим раз в день в 12 часов необходимо показать определенный плейлист, а в остальное время показывать стандартный список воспроизведения. Для этого создаем этот плейлист и в конец его ставим скрипт на выполнение "Сменить список воспроизведения" с указанием стандартного плейлиста. Сам скрипт будет выглядеть так (если имя планировщика в конфигурации задано как sheduler):Application.Sheduler.Playlist="default.xjob"
Далее с помощью вкладки "Задания" создаем задание на запуск этого плейлиста в 12 ч. ежедневно. Учтите, если выбрать в задании "Сменить список воспроизведения", то плейлист загрузится не ровно 12 ч, а дождется завершения текущего активного клипа. Если необходимо запустить плейлист ровно в 12 ч выберите в Мастере заданий "Безусловная смена списка воспроизведения".
Андрей, а каким методом можно проверить, запущенно ли в настоящий момент приложение AdvertisePro? Я написал скрипт, для периодического перезапуска программы, но иногда программа почему-то не стартует. Поэтому хочется добавить проверку успешности запуска. Вот мой скрипт:
ОтветитьУдалитьDim WshShell, AdvertisePro, objApp
Set WshShell = WScript.CreateObject("WScript.Shell") ' Создаем WScript.Shell
Set objApp = GetObject("AdvertisePro:Application") '
objApp.Exit -2
WScript.Sleep 10000
Set AdvertisePro = WshShell.Exec("AdvertisePro.exe")
WScript.Quit 0
Может быть Вам подойдет готовое решение, которое проверяет работоспособность AdvertisePro и перезапускает его в случае зависания или падения. Я написал статью APGuard
ОтветитьУдалить