Конфигурация — Управление мелодиями в 1С

Конфигурация «1С управления мелодиями».

Что она может :

  • Хранить в базе информацию о мелодии — все форматы, которые может воспроизвести ваша ОС Windows
  • Проигрывать сохраненную мелодию вызовом одной процедуры
  • Два разных способа проигрывания мелодий
  • Возможность проигрывания мелодии без повторного сохранения файла на диск;

Основная задача

Основная задача этой подсистемы — это научить любую конфу 1С взаимодействовать с пользователем «голосом или звуком». Реагировать на действия, сообщать о состоянии операций, озвучивать информацию, т.д. Приведу примеры, которые сделала наша команда:

  1. Настройка своих звуков/мелодий для успешного/неудачного поиска объекта по штрихкоду
  2. При сканировании штрихкода курьера — голосом произносится его номер
  3. При поиске заказа по определенным критериям, в случае успешного поиска голосом произносится, что в заказе неверно (дата, курьер, статус …)

Способы воспроизведения

В конфигурации реализованы два способа воспроизведения мелодии:

  • С помощью ActiveX-компоненты WMPlayer. Для этого необходимо, чтобы она была доступна в вашей ОС.
  • С помощью скриптового языка AutoHotKey. О ней я уже упоминал здесь и здесь. Запускается скрипт, которому передаем имя файла мелодии, который уже ее сам асинхронно воспроизводит. Воспроизведение тоже происходит средствами ОС

Надо сказать, что воспроизведение происходит независимо от основного процесса 1С. Работа не блокируется

Способы хранения файлов

Основной проблемой воспроизведения мелодий в 1С было то, что постоянно надо сохранять файлы на диск (если они отсутствуют по предыдущему месту расположения). В этой конфигурации реализовано воспроизведение мелодии как через файл на диске (в случае его отсутствия, файл будет сохраняться в каталог временных файлов), так и через URL. Для этого можно использовать облачные сервисы ( DropBox, SugarSync ), в которых есть возможность бросать файлы в публичные папки и получать их URL.

Форматы файлов подходят все, что сможет воспроизвести ваша ОС. Если какой-то формат не подойдет — то нужно установить соответствующий кодек.

Хранение

Данные по мелодии/звука хранятся в следующем формате

  • Имя мелодии — уникальное имя в пределах БД и необходимое для вызова мелодии
  • Длительность — необходимо время длительности мелодии (если например мелодия длится 10 сек, а вам необходимо лишь 5). Если 0 — играет полная версия мелодии
  • Имя файла — выбирается из локального ПК
  • URL мелодии — соответствует своему названию. Необходим для того, чтобы не хранить постоянно файл на диске. Нужен полный доступ к файлу через URL
  • Использовать AHK — включает режим воспроизведения мелодии при помощи скриптового языка AutoHotKey. Если выключено — то воспроизводится с помощью ActiveX-компоненты WMPlayer

Сохранение мелодии или звукаВ конфигурации присутствует обработка для тестирования. Работа поддерживается в 8.1 (полностью) и в 8.2 (в толстом клиенте обычного и управляемого приложения). Тонкий клиент не поддерживает ActiveX точно, а вот с AHK еще не пробовал связывать.

После интеграции данной конфигурации со своей достаточно лишь вставить в место вызова мелодии следующую команду

Вызов мелодии

1
2
УправлениеМелодями.ВоспроизвестиМелодию(ИмяМелодии, ЭтаФорма);//если вызов из формы, ели же нет - то оставляем пустое поле
//ИмяМелодии - текстовое имя, как она харнится в регистре

Upd.
По просьбам выкладываю выгрузку ИБ с реализованным механизмом воспроизведения мелодии. Для этого нужно открыть обработку «Тестирование по курьеру» и ввести в поле ввода номер курьера из справочника. По этому номеру будет искаться курьер и в случае удачного поиска — попытается воспроизвестись мелодия по номеру курьера. В выгрузке я указал мелодии по URL, поэтому может быть определенная задержка при воспроизведении.

Обновление 10.01.2014.
Используя на проекте данный функционал, заметил, что он снижает быстродействие, когда используется частый вызов проигрывания мелодии. Это из-за того, что постоянно викдриваеться форма для проигрывания звука и инициализируется ActiveX. Поэтому было сделано следующее:

  • При первом вызове проигрывания мелодии идет викдриття формы и инициализция ActiveX
  • Проигрывается мелодия 
  • Форма остается открытой и последующее воспроизведение происходит гораздо быстрее
Скачать
Конфигурация управления мелодиями 8.2  -- 289.49 kB, Скачан 129 раз - Скачать
Выгрузка ИБ управление мелодиями 1С 8.2  -- 768 bytes, Скачан 146 раз - Скачать