Перейти к основному содержимому

События из внешней компоненты

Во время работы во внешней компоненте могут срабатывать определенные события, которые не зависят от 1С.
Обработка таких событий осуществляется на стороне 1С в предопределенной процедуре формы или модуля приложения.

В первом параметре процедуры передается параметр Источник, он всегда равен: MediaBuild и говорит о том, что событие пришло от ВК.
Вторым параметром идет тип события Событие[Число] (тип Строка обязателен), которые отвечает на вопрос, а что это за событие и от какой камеры оно пришло.
И, наконец, третьим параметром идет параметр Данные (тип Строка не обязателен). Он хранит данные, которые может передать ВК.

Для того, чтобы можно было принимать события от ВК в открытой форме определите встроенное событие формы ВнешнееСобытие:

Обработка

Описание процедуры ВнешнееСобытие​

А вот описание процедуры:

&НаКлиенте
Процедура ВнешнееСобытие(Источник, СобытиеИКамера, Данные)
// Обработка событие от внешней компоненты MediaBuild
Если Источник = "MediaBuild" Тогда
Событие = Лев(СобытиеИКамера, Найти(СобытиеИКамера, "[") - 1); // Что за событие
НомерКамерыСобытия = Число(Сред(СобытиеИКамера, Найти(СобытиеИКамера, "[") + 1,
Найти(СобытиеИКамера, "]") - Найти(СобытиеИКамера, "[") - 1)); // От какой камеры
Если Событие = "Activation" Тогда
// Программа активирована надо записать "Данные" и
// присвоить ВК
ИначеЕсли Событие = "Frame" Тогда
// Получен кадр из ВК созданный методом GetFrames
ИначеЕсли Событие = "Error" Тогда
// Сообщение об ошибке
ИначеЕсли Событие = "DiskFull" Тогда
// Тут можно остановить запись и присвоить новый ПутьКХранилищу для записи видео
ИначеЕсли Событие = "…" Тогда
…
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Все события, которые возникают​

Activation​

Это событие возникает после активации в ВК и в параметре Данные возвращается ключ активации, который необходимо записать в ИБ и присваивать ВК в будущем. Ключ активации генерируется для каждого компьютера, работающего с ВК отдельно. Активация происходит онлайн.

DeviceLost​

Событие возникает, когда устройство захвата отключено во время предварительного просмотра или записи.

DiskFull​

Возникает, когда диск заполняется во время записи. Необходимо программно тут же либо остановить запись, либо присвоить переменной ПутьКХранилищу(StoragePath) новый путь и выполнить НачатьЗаписьВНовыйФайл(RecordToNewFileNow), это позволит остановить запись в старом месте и продолжить запись в новом.

Error​

Возникает, при ошибке в ВК. В данных передается строка с ошибкой.

Frame​

Возникает если запустили процедуру ПолучитьКадры(GetFrames) и нажали на кнопку в открывшейся форме Получить. В данных возвращается имя файла, куда был сохранен полученный кадр. Рекомендуется после обработки кадра удалять его.

MotionDetected​

Событие возникает при включенном свойстве ДетекторДвиженияВключен и указывает на то, что камера зафиксировала движение

MotionNotDetected​

Событие возникает при включенном свойстве ДетекторДвиженияВключен и указывает на то, что камера НЕ зафиксировала движение.

NoVideoDevices​

Возникает, если не было обнаружено видео устройств.

PreviewStarted​

Возникает при начале просмотра.

RecordingCompleted​

Камера окончила запись файла, начатого методом НачатьЗапись(StartRecording). В параметре Данные возвращает имя файла куда шла запись.

RecordingPaused​

Возникает во время программной установки паузы.

RecordingStart​

Событие возникает при начале записи ВК. Вторым параметром передается имя файла в который будет происходить запись.