Автоматическое управление TrueConf Weathervane
Приложение TrueConf Weathervane поддерживает переключение пресетов камер, используемых во время видеоконференций, через параметры командной строки. Благодаря этому его можно использовать не только как инструмент для ориентирования камер по выступающему, но и как средство произвольного управления ими в своих программах.
Описание команды
Пресет назначается при вызове программы через параметр -p [num]
или -preset [num]
. Здесь [num]
— идентификатор пресета.
Например, команда, активирующая пресет #1, выглядит так
1 |
WeatherVane.exe -preset 1 |
Ручное переключение (тест)
Чтобы попробовать, как это работает, запустите TrueConf Weathervane, перейдите в консоли ОС Windows к папке, где установлено приложение, и используйте команду из предыдущего раздела. Активный пресет в окне приложения будет при этом меняться.
Переключение через ярлыки
Вы можете добавить параметр переключения пресета и в ярлык приложения (пример добавления параметров в ярлык описан в другой нашей статье). После этого даже неопытный пользователь сможет переключать камеры и их позиции привычным двойным щелчком мыши по ярлыку.
Автоматическая отправка команды
Конечно, вызывать приложение с параметром можно и не вручную, а из собственного программного кода. Это позволит встроить в ваше приложение переключение камер по любому сценарию и как угодно сопоставить его с работой программы.
Вот простой пример – код на Python 2.7, обеспечивающий переключение пресетов друг за другом по кругу каждую минуту:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
from time import sleep from itertools import cycle from os import system def set_preset_index(index): WEATHERVANE_PATH = "C:\\Program Files (x86)\\TrueConf\\WeatherVane\\WeatherVane.exe" command = "\"{}\" -p {}".format(WEATHERVANE_PATH, index) system(command) def process_values_rhythmically(callback, values_iterator, \ single_time_interval): while True: value = next(values_iterator) if value is None: return callback(value) sleep(single_time_interval) def switch_cameras_by_cycle(**params): process_values_rhythmically(set_preset_index, \ cycle(range(params["n_presets"])), \ params["time_interval"]) switch_cameras_by_cycle(n_presets = 5, time_interval = 60.) |