ArchivePlayerAx

CLSID: DE51B5FD-26A4-4B05-B60E-85EAC1C9782C


Показать/скрыть элементы управления:


Выполнить команду:
  
 Автопрокрутка интервала
Скорость воспроизведения: 

Номер интеграции или моникер архива:

Все архивы:

Запись (камера):  

Флаги кадров:     Показывать только кадры с выбранными флагами
Искать кадры с выбраными флагами:
Операция сравнения: 
Диапазон поиска (мм-дд-гггг) от:    до:   
Критерий группировки (сек):    Грубый поиск


Имя файла для экспорта выбранного диапазона: 

Методы:

Open( varArch, varCam ): открывает подключение к архиву. Архив указывается в параметре varArch. В параметре varCam необходимо указать камеру для просмотра, или 0 для просмотра всех камер. Параметры могут быть следующих типов:
   string:     параметр должен содержать моникер;
   integer:   параметр должен содержать номер интеграции, который указывается на вкладке "Интеграция" в настройках приложения GOALcity.

Close(): закрывает архив.
OpenRecord( Moniker ): Открывает запись из архива.
Play(): начинает воспроизведение.
Stop(): останавливает воспроизведение.
SetRange(): устанавливает диапазон просмотра.
StartVideoExport(FilePathName, dtBegin, dtEnd): отображает диалог и начинает экспорт видео в файл FilePathName. Параметры dtBegin и dtEnd задают диапазон для экспорта. Диалог будет автоматически закрыт после окончания.
GetRecordsCount(): возвращает число камер в архиве. Для последовательного использования полученное значение рекомендуется запомнить в локальной переменной.
GetRecordName(idx): возвращает имя камеры по ее номеру. Нумерация начинается с 0.
GetRecordMoniker(idx): возвращает моникер камеры по ее номеру. Нумерация начинается с 0.
GetFragmentCount(idx, dtBegin, dtEnd, nFrameFlags, nFlagsCmp, nGranularity, bRude): возвращает число фрагментов, по указанной камере, в указанном диапазоне. Для последовательного использования полученное значение рекомендуется запомнить в локальной переменной.
Параметры:
  idx номер камеры
  dtBegin, dtEnd диапазон времени
  nFrameFlags число, которое интерпретируется как набор битовых флагов для поиска кадров. Подробнее см. ниже.
  nFlagsCmp число определяющее операцию сравнения nFrameFlags с фактическими флагами кадра. Подробнее см. ниже.
  nGranularity число секунд определяющее группировку двух соседних кадров в один фрагмент. Так, два последовательных кадра, разница времени записи между которыми меньше или равна nGranularity будут расцениваться как один фрагмент. Иначе - как два.
  bRude булевский параметр. В случае true, поиск фрагментов будет выполнен быстро, но с меньшей точностью.

Битовые флаги nFrameFlags:
  0x00000000:Любые флаги
  0x00000002:Записан по команде
  0x00000010:Движение
  0x00000020:Объект
  0x00000040:Оставленный предмет
  0x00000080:Автономер
  0x00000200:Лицо
  0x00000400:Аудиосигнал
  0x00000800:Голос
  0x00001000:Обнаружен путь
  0x00004000:Значение датчика за нижней границей
  0x00008000:Значение датчика за верхней границей
  0x00010000:Датчик разомкнут
  0x00020000:Датчик замкнут
  0x00040000:Датчик, короткое замыкание
  0x00080000:Датчик, разорвано соединение
  0x10000000:Добавлен комментарий
  0x40000000:Алгоритм панели 'внимание'
  0x80000000:Движение с избыточностью

Значения nFlagsCmp:
  0:подходит кадр, имеющий любой из флагов nFrameFlags
  1:подходит кадр, имеющий все флаги nFrameFlags
  2:подходит кадр, флаги которого точно совпадают с nFrameFlags
  3:подходит кадр, не имеющий флагов из nFrameFlags

GetFragmentInfo(idx): возвращает объект, содержащие информацию по фрагменту с указанным номером. Нумерация начинается с 0. Объект содержит следующие поля:
  DateBeginдата первого кадра во фрагменте
  DateEndдата последнего кадра
  Flagsфлаги всех кадров фрагмента
  FrameCountколичество кадров во фрагменте. Это поле заполняется только при "не грубом" запросе (bRude - false), и при поиске только с одним флагом nFrameFlags.

ShowControls(nCtrlFlags, bShow): показывает/скрывает различные элементы управления, каждый из которых указывается определенными битами в параметре nCtrlFlags. Параметр bShow должен быть типа bool.
Значения nCtrlFlags:
  0x1:Панель кнопок управления воспроизведением
  0x2:Панель дополнительных кнопок
  0x4:Панель регулятора скорости воспроизведения
  0x8:Набор кнопок выбора текущего интервала времени
  0x10:Панель участков записей и указателя текущей позиции
  0x20:Панель кнопок управления отображением записей
  0x40:Панель управления отображением свойств видеокадров

RunCommand(idCommand, Param): универсальный метод, выполняющий различные команды плеера. Конкретная команда задается в параметре idCommand. Параметр Param используется не со всеми командами - см. следующую таблицу.
Значения idCommand:
  0:Переподключение
  1:Воспроизведение
  2:Останов воспроизведения (пауза)
  3:Кадр вперёд
  4:Кадр назад
  5:Перейти к первому кадру текущего интервала
  6:Перейти к последнему кадру текущего интервала
  7:Следующий интервал
  8:Предыдущий интервал
  9:Следующий участок записи
  10:Предыдущий участок записи
  11:Разрешает автопрокрутку интервала, параметр - bool
  12:Скорость воспроизведения, параметр - целое число, выражающее скорость в процентах
  13:Зарезервировано, не должно использоваться
  14:Зарезервировано, не должно использоваться
  15:Фильтрация кадров по флагам при воспроизведении. Значения параметра см. выше nFrameFlags.

Свойства:

User: имя пользователя для подключения (Администратор - это пустое имя).
Password: пароль пользователя для подключения.
AppID: строка-идентификатор приложения. При подключении к одному архиву двух экземпляров ActiveX, с одинаковым AppID, обслуживаться будет только тот, который подключится последним.
Position: текущая позиция.

События:

OnConnect: - вызывается после подключения, в том числе и при переподключении из интерфейса пользователя.
OnDisconnect: вызывается после отключения, в том числе и при переподключении из интерфейса пользователя.
OnPlay: вызывается после начала проигрывания.
OnStop: вызывается после остановки проигрывания.
OnPositionChanged(pos): вызывается при смене текущей позиции просмотра.

Общая информация:

Архив хранит записи (они же камеры), которые могут содержать данные трех типов: видео, аудио и данные с датчиков. Внутри каждой записи находятся кадры. Каждый кадр имеет время и набор флагов. С помощью функции GetFragmentCount кадры могут быть логически сгруппированы во фрагменты, с учетом флагов и времени записи.