Скрипт и имя транслируемого ролика.

29 views
Skip to first unread message

Павел Червинский

unread,
Jan 18, 2013, 9:51:06 AM1/18/13
to nata-s...@googlegroups.com
Здравствуйте, Андрей!
Такой вопрос - нам необходимо запускать небольшой скрипт через список воспроизведения AdvertisePro. C самим скриптом пока проблем нет, но мы не знаем как передать этому скрипту имя воспроизводимого в текущий момент ролика (точнее имя файла). Может у вас есть готовый пример, как передать имя файла через переменную BAT-файла?  На худой конец, хоть какой-нибудь пример :) 

Андрей Саракеев

unread,
Jan 21, 2013, 12:11:32 AM1/21/13
to nata-s...@googlegroups.com
Готовлю статью по API

пятница, 18 января 2013 г., 18:51:06 UTC+4 пользователь Павел Червинский написал:

Андрей Саракеев

unread,
Jan 21, 2013, 7:02:28 AM1/21/13
to nata-s...@googlegroups.com
Я написал статью по API с помощью которого можно управлять воспроизведением. Возможно эта статья Вам поможет. Но если Вы подробно опишите Ваш случай, я смогу полнее описать его решение, если оно возможно. Получить имя воспроизводимого файла из BAT возможно не удастся, но можно использовать команду cscript и скрипт на VBScript или JScript, если вы хотите получить доступ из командной строки. Чтобы из VBScript получить Application используйте
Set Application = GetObject("AdvertisePro:Application")
Для скриптов запускаемых из AdvertisePro достаточно использовать Application

понедельник, 21 января 2013 г., 9:11:32 UTC+4 пользователь Андрей Саракеев написал:

Павел Червинский

unread,
Jan 21, 2013, 12:55:24 PM1/21/13
to nata-s...@googlegroups.com
Спасибо, про GetObject мне удалось узнать ранее, но так как нет описания свойств этого объекта, то пользоваться им толком не было возможности. Программист я фиговый, поэтому мне проще на примерах изучать.
Собственно задача простая - нужно делать скриншот экрана при помощи внешней программы, а в качестве параметра передавать ей имя файла, который воспроизводится в данный момент, чтобы файл получаемого скриншоты имел тоже название.

понедельник, 21 января 2013 г., 16:02:28 UTC+4 пользователь Андрей Саракеев написал:

Павел Червинский

unread,
Jan 29, 2013, 5:51:57 AM1/29/13
to nata-s...@googlegroups.com
Приветствую!
пытался сегодня получить доступ из VBScript к renderer, но ничего не получается. Нехватка знаний языка :(
Можно вас попросить хоть малюсенький пример того, как обращаться к свойствам этого объекта? Очень нужно...

понедельник, 21 января 2013 г., 16:02:28 UTC+4 пользователь Андрей Саракеев написал:

Андрей Саракеев

unread,
Jan 29, 2013, 7:00:30 AM1/29/13
to nata-s...@googlegroups.com
Это скрипт запускается в контексте приложения или из командной строки?

29 января 2013 г., 14:51 пользователь Павел Червинский <pave...@gmail.com> написал:

--
Вы получили это сообщение, поскольку подписаны на группу nata-support.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес nata-support...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
 
 



--
Андрей Вячеславович Саракеев, инженер-программист ООО "Ната-Инфо"
Мой блог о работе с экранами Ната-Инфо: http://nata-scoreboards.blogspot.com/
Телефон: +7 (8362) 635810 доп. 323

Павел Червинский

unread,
Jan 29, 2013, 7:17:13 AM1/29/13
to nata-s...@googlegroups.com
В контексте приложения.

вторник, 29 января 2013 г., 16:00:30 UTC+4 пользователь Андрей Саракеев написал:

Андрей Саракеев

unread,
Jan 29, 2013, 7:34:36 AM1/29/13
to nata-s...@googlegroups.com
Если скрипт запускается из AdvertisePro (вставлен в плейлист или через Задания), то доступ к рендереру:
Application.renderer
Если через внешний скрипт, то нужно сначала получить объект Application, например так:
Set Application = GetObject("AdvertisePro:Application")
Чтобы работал моникер AdvertisePro:Application нужно чтобы программа себя зарегистрировала при запуске, если она этого не смогла сделать, выдается предупреждение в журнале "failed to register moniker"
Например имя файла воспроизводимого в данный момент:
Dim renderer, fileName, position
// Сохраним объект в переменной, чтобы меньше писать, обратите внимание, если вы присваиваете переменной объект, то нужно писать Set variable = MyObject
Set renderer = Application.renderer
// Получаем имя файла
fileName = renderer.CurrentMedia.sourceURL
// Текущую позицию в секундах
position = renderer.CurrentMedia.CurrentPosition
В статье есть еще рабочий пример
В конфигурационном файле renderer может называться по другому, в статье описано как найти правильное имя.

Андрей Саракеев

unread,
Jan 29, 2013, 7:40:01 AM1/29/13
to nata-s...@googlegroups.com
Чтобы посмотреть результат можно использовать функцию (если функция, то параметры в скобках, если процедура/метод, то без скобок)
MsgBox('Сейчас проигрывается ' & fileName & ', позиция ' & position & 'сек')

вторник, 29 января 2013 г., 16:34:36 UTC+4 пользователь Андрей Саракеев написал:

Павел Червинский

unread,
Jan 29, 2013, 7:44:56 AM1/29/13
to nata-s...@googlegroups.com
Спасибо, Андрей!!

вторник, 29 января 2013 г., 16:40:01 UTC+4 пользователь Андрей Саракеев написал:
Reply all
Reply to author
Forward
0 new messages