Демонстрация технологии записи звука с микрофона на платформе 1С с использованием библиотеки FFMPEG
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
На основании примера аналогичного решения функции записи реализованы с использованием другой библиотеки - FFMPEG.
Необходимость возникла из-за того, что библиотека linco.exe разрабатывалась примерно в 2003 году, на текущий момент очевидно не поддерживается и не удалось реализовать запись на основании этой библиотеки. В частности не удалось осуществить саму запись, в результате записывался только шум. Рекомендации по уточнению устройства записи не помогли. Возможно что-то изменилось и библиотека перестала работать в Win10. Но вопрос нужно было решить и в итоге пришлось искать альтернативную библиотеку для решения этой задачи.
Особенностью решения с FFMPEG является то, что для начала записи нужно определить название устройства записи. Это выполняется ПриОткрытии() формы. В параметрах команды на запись нужно дать прямое представление названия устройства записи. Так же есть особенность с командой на завершение записи. Штатно библиотека в командном окне ожидает нажатия на клавиатуре клавиши "q". Для посыла нажатия клавиатуры нужно иметь идентификатор запущенного процесса и иметь окно с запущеной библиотекой в активированном состоянии. Попытка принудительно завершить процесс закончится тем, что собственно сам файл с записью не сохранится. Найден вариант - запуск процесса в окне в свёрнутом состоянии и тогда команда завершения процесса отрабатывается и файл с записью нормально записывается. Именно НЕ принудительное завершение процесса, а режим "передача команды на завершение". При этом в момент записи появляется окно процесса. Но это не мешает использованию. Возможно есть какие-то другие варианты решения, но такой вариант для моего применения вполне приемлем.
Предупреждая вопросы "зачем". Надо. Да, есть такие задачи и пользователи, для которых голосовые комментарии более актуальны, чем текстовые. Это не типовые задачи. Например связанные с просмотром видеозаписи и комментированием просмотренного материала. Для пользователей, осуществляющих эти процессы более предпочтительным является голосовой формат комментирования, чем текстовый. Режим мобильного клиента позволяет решать аналогичные задачи без использования дополнительных библиотек. Но практика показывает, что в режиме реальной сотовой связи мобильный клиент ведёт себя не устойчиво и пока обойти это не удаётся. Поэтому приходится реализовывать эти функции на ПК.
Обработка тестировалась на релизе платформы 8.3.15.1565 в режиме управляемых форм.
Вступайте в нашу телеграмм-группу Инфостарт