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

Список функций

Функции управления записью и просмотром

НачатьЗапись (StartRecording)

Назначение: Начать запись видео с текущей камеры.

Параметры: Нет

Возвращает: Булево (Истина — запись началась, Ложь — ошибка)

Пример использования:

если Камера.НачатьЗапись() тогда
Сообщение("Запись началась");
конец_если;

ПаузаЗаписи (PauseRecording)

Назначение: Временно остановить запись видео (видеопоток продолжает работать).

Параметры: Нет

Возвращает: Булево (Истина — пауза включена, Ложь — ошибка)

Когда использовать: Когда нужно сделать перерыв в записи без полной остановки.


ПродолжитьЗапись (ResumeRecording)

Назначение: Возобновить запись после паузы, вызванной функцией ПаузаЗаписи.

Параметры: Нет

Возвращает: Булево (Истина — запись возобновлена, Ложь — ошибка)


НачатьЗаписьВНовыйФайл (RecordToNewFileNow)

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

Параметры:

  • ИмяНовогоФайла (Строка) — имя нового файла записи

Возвращает: Булево (Истина — новый файл создан, Ложь — ошибка)

Важно:

  • Если ИмяНовогоФайла пусто, имя будет сгенерировано автоматически на основе ПутьКХранилищу, АвтоПрефиксФайла и расширения файла
  • Если указано имя, оно будет использовано для создания нового файла

Пример:

если Камера.НачатьЗаписьВНовыйФайл("архив_часть2.mp4") тогда
Сообщение("Файл разделён успешно");
конец_если;

НачатьПросмотр (StartPreview)

Назначение: Начать просмотр онлайн-видео с текущей камеры без записи.

Параметры: Нет

Возвращает: Булево (Истина — просмотр запущен, Ложь — ошибка)

Особенности:

  • Внутри запускает видеопоток для просмотра
  • Можно использовать одновременно с детектором движения

Функции получения информации о статусе

Статус (Status)

Назначение: Получить текущий статус камеры.

Параметры: Нет

Возвращает: Число (код состояния)

Значения статусов:

КодСостояниеОписание
0НеактивнаКамера отключена, ничего не происходит
1ПредпросмотрИдёт просмотр живого видео
2ЗаписьИдёт запись видео в файл
3ПроигрышПроигрывается записанное видео в плеере

Пример использования:

статус = Камера.Статус();

если статус = 2 тогда
Сообщение("Идёт запись");
иначе_если статус = 1 тогда
Сообщение("Идёт просмотр");
конец_если;

ПолучитьКБЗаписанныеНаДиск (RecordingKBytesWrittenToDisk)

Назначение: Получить размер файла, который в данный момент записывается на диск.

Параметры: Нет

Возвращает: Число (размер в килобайтах)

Когда использовать: Для отслеживания объёма записи в реальном времени.

Пример:

объёмКБ = Камера.ПолучитьКБЗаписанныеНаДиск();
Сообщение("Записано " + объёмКБ + " КБ");

Функции для снимков и кадров

ПолучитьКадр (GetFrame)

Назначение: Получить одно фото с текущей камеры.

Параметры: Нет

Возвращает: ДвоичныеДанные (изображение)

Важно:

  • Если включен предпросмотр, интерфейс блокируется до момента выбора фото
  • Для неблокирующего режима используйте процедуру ПолучитьКадры

ПолучитьСкриншот (GetScreenShot)

Назначение: Получить скриншот экрана.

Параметры: Нет

Возвращает: ДвоичныеДанные (изображение)


ПолучитьСкриншотИзПамяти (GetScreenShotFromMemory)

Назначение: Получить скриншот, который был сделан нажатием клавиши PrtScr.

Параметры: Нет

Возвращает: ДвоичныеДанные или Неопределено (если в памяти нет скриншота)


Функции детектора движения

ДетекторДвиженияСеткаЯвляетсяПравильной (MotionDetectorIsGridValid)

Назначение: Проверить, корректна ли текущая сетка детектора движения.

Параметры: Нет

Возвращает: Булево (Истина — сетка правильная, Ложь — ошибка в конфигурации)

Когда использовать: Перед включением детектора движения, чтобы убедиться в правильности настроек.


ДетекторДвиженияГлобальноеСоотношениеДвижения (MotionDetectorGlobalMotionRatio)

Назначение: Получить коэффициент движения в текущем видеокадре.

Параметры: Нет

Возвращает: Число (0.0 до 1.0, например 0.5776)

Что это значит:

  • 0.0 — движения не обнаружено
  • 0.5 — движение средней интенсивности
  • 1.0 — максимальное движение (сильное изменение изображения)

Интерпретация:

  • Коэффициент = (количество изменённых пикселей) / (общее количество пикселей)
  • Учитывается чувствительность каждой ячейки сетки
  • Это значение также передаётся в событие "Движение обнаружено"

Пример использования:

коэффициент = Камера.ДетекторДвиженияГлобальноеСоотношениеДвижения();

если коэффициент > 0.3 тогда
Сообщение("Обнаружено значительное движение!");
конец_если;

Функции работы с аудио и видео кодеками

КоличествоВидеоКомпрессоров (VideoCompressorsCount)

Назначение: Получить количество видео кодеков, установленных в системе.

Параметры: Нет

Возвращает: Число


ВидеоКомпрессоры (VideoCompressors)

Назначение: Получить полный список видео кодеков, установленных в системе.

Параметры: Нет

Возвращает: Строка (каждый кодек на новой строке)

Пример результата:

Xvid MPEG-4 Codec
MJPEG Compressor
Кодек Intel IYUV
Microsoft RLE
Microsoft Video 1

Как получить конкретный кодек:

видеоКодеки = Камера.ВидеоКомпрессоры();
первыйКодек = СтрПолучитьСтроку(видеоКодеки, 1); // Нумерация с 1

КоличествоАудиоКомпрессоров (AudioCompressorsCount)

Назначение: Получить количество аудио кодеков, установленных в системе.

Параметры: Нет

Возвращает: Число


АудиоКомпрессоры (AudioCompressors)

Назначение: Получить полный список аудио кодеков, установленных в системе.

Параметры: Нет

Возвращает: Строка (каждый кодек на новой строке)

Пример результата:

PCM
IMA ADPCM
Microsoft ADPCM
LAME Audio Encoder

Функции видео размеров

КоличествоВидеоРазмеров (VideoSizesCount)

Назначение: Получить количество разрешений видео, поддерживаемых текущей камерой.

Параметры: Нет

Возвращает: Число


ВидеоРазмеры (VideoSizes)

Назначение: Получить список всех разрешений видео, поддерживаемых текущей камерой.

Параметры: Нет

Возвращает: Строка (каждое разрешение на новой строке)

Пример результата:

160x120
320x240
640x480
800x600

Как получить конкретное разрешение:

размеры = Камера.ВидеоРазмеры();
первыйРазмер = СтрПолучитьСтроку(размеры, 1); // "160x120"

Функции устройств

КоличествоВидеоУстройств (VideoDevicesCount)

Назначение: Получить количество видео устройств (веб-камер), подключённых к компьютеру.

Параметры: Нет

Возвращает: Число


ВидеоУстройства (VideoDevices)

Назначение: Получить список всех видео устройств, подключённых к компьютеру.

Параметры: Нет

Возвращает: Строка (каждое устройство на новой строке)

Пример результата:

USB 2.0 Camera
Integrated Webcam

Как получить конкретное устройство:

устройства = Камера.ВидеоУстройства();
первоеУстройство = СтрПолучитьСтроку(устройства, 1);

КоличествоАудиоУстройств (AudioDevicesCount)

Назначение: Получить количество аудио устройств (микрофонов, наушников), подключённых к компьютеру.

Параметры: Нет

Возвращает: Число


АудиоУстройства (AudioDevices)

Назначение: Получить список всех аудио устройств, подключённых к компьютеру.

Параметры: Нет

Возвращает: Строка (каждое устройство на новой строке)

Пример результата:

Микрофон (High Definition Audio Device)
Динамики (High Definition Audio Device)

Функции управления камерами

ДобавитьКамеру (AddCamera)

Назначение: Добавить новую камеру в список камер системы.

Параметры: Нет

Возвращает: Число (номер добавленной камеры, нумерация с 0)

Особенность: После добавления камера автоматически становится текущей и готова к работе.

Пример:

номерКамеры = Камера.ДобавитьКамеру();
Сообщение("Добавлена камера №" + номерКамеры);

УдалитьКамеру (DeleteCamera)

Назначение: Удалить камеру из списка камер.

Параметры:

  • НомерКамеры (Число) — номер удаляемой камеры (нумерация с 0)

Возвращает: Булево (Истина — удаление успешно, Ложь — ошибка)

Пример:

если Камера.УдалитьКамеру(1) тогда
Сообщение("Камера удалена");
конец_если;

Информационные функции

Версия (Version)

Назначение: Получить версию внешней компоненты MediaBuild.

Параметры: Нет

Возвращает: Строка (например, "1.2.5")


ИдентификаторКомпьютера (HardwareID)

Назначение: Получить уникальный идентификатор компьютера для активации компоненты.

Параметры: Нет

Возвращает: Строка (уникальный код оборудования)

Важно:

  • Этот идентификатор уникален для каждого компьютера
  • Используется для активации и привязки лицензии к конкретной машине
  • Узнать свой ID можно в окне регистрации компоненты (кнопка "Регистрация" в левом нижнем углу)

ВладалецЛицензии (LicenseOwner)

Назначение: Получить информацию о владельце лицензии.

Параметры: Нет

Возвращает: Строка (имя владельца лицензии)


ДемоРежим (DemoMode)

Назначение: Проверить, используется ли компонента в режиме демонстрации.

Параметры: Нет

Возвращает: Булево (Истина — демо-режим активен, Ложь — полная версия)

Важно: В демо-режиме некоторые функции могут быть ограничены.


Быстрая справка по статусам

Проверка текущего состояния камеры:

статус = Камера.Статус();

перейти по статус
случай 0:
Сообщение("Камера отключена");
случай 1:
Сообщение("Идёт предпросмотр");
случай 2:
Сообщение("Идёт запись");
случай 3:
Сообщение("Проигрывание видео");
конец_перехода;

Примеры использования

Пример 1: Простая запись

// Начать запись
если Камера.НачатьЗапись() тогда
Сообщение("Запись началась");

// Подождать 10 секунд
Пауза(10);

// Получить информацию о записанном объёме
объём = Камера.ПолучитьКБЗаписанныеНаДиск();
Сообщение("Записано: " + объём + " КБ");
конец_если;

Пример 2: Разбиение записи на части

если Камера.НачатьЗапись() тогда
// Запись 5 минут
Пауза(300);

// Создать новый файл
если Камера.НачатьЗаписьВНовыйФайл("видео_часть2.mp4") тогда
Сообщение("Файл разделён");
конец_если;

// Продолжить запись ещё 5 минут
Пауза(300);
конец_если;

Пример 3: Просмотр с детектором движения

// Начать просмотр
если Камера.НачатьПросмотр() тогда

// Проверить конфигурацию детектора
если Камера.ДетекторДвиженияСеткаЯвляетсяПравильной() тогда

// Цикл мониторинга
пока истина цикл
коэфф = Камера.ДетекторДвиженияГлобальноеСоотношениеДвижения();

если коэфф > 0.5 тогда
Сообщение("Обнаружено движение! Коэффициент: " + коэфф);
конец_если;

Пауза(1);
конец_цикла;

конец_если;

конец_если;