Хочу представить мультимедийную конфигурацию «1С управления мелодиями» . Что она может :
- Хранить в базе информацию о мелодии – все форматы, которые может воспроизвести ваша ОС Windows;
- Проигрывать сохраненную мелодию вызовом одной процедуры;
- Два разных способа проигрывания мелодий;
- Возможность проигрывания мелодии без повторного сохранения файла на диск;
Основная задача
Основная задача этой подсистемы – это научить любую конфу 1С взаимодействовать с пользователем «голосом или звуком». Реагировать на действия, сообщать о состоянии операций, озвучивать информацию и т.д. Приведу примеры, которые сделала наша команда:
- Настройка своих звуков/мелодий для успешного/неудачного поиска объекта по штрихкоду;
- При сканировании штрихкода курьера – голосом произносится его номер;
- При поиске заказа по определенным критериям, в случае успешного поиска голосом произносится, что в заказе неверно (дата, курьер, статус …);
В конфигурации реализованы два способа воспроизведения мелодии:
- С помощью ActiveX-компоненты WMPlayer. Для этого необходимо, чтобы она была доступна в вашей ОС.
- С помощью скриптового языка AutoHotKey. О ней я уже упоминал здесь. Запускается скрипт, которому передаем имя файла мелодии, который уже ее сам асинхронно воспроизводит. Воспроизведение тоже происходит средствами ОС
Надо сказать, что воспроизведение происходит независимо от основного процесса 1С. Работа не блокируется
Способы хранения файлов
Основной проблемой воспроизведения мелодий в 1С было то, что постоянно надо сохранять файлы на диск (если они отсутствуют по предыдущему месту расположения). В этой конфигурации реализовано воспроизведение файла как через файл на диске (в случае его отсутствия, файл будет сохраняться в каталог временных файлов), так и через URL. Для этого можно использовать облачные сервисы ( DropBox, SugarSync ), в которых есть возможность бросать файлы в публичные папки и получать их URL.
Форматы файлов подходят все, что сможет воспроизвести ваша ОС. Если какой-то формат не подойдет – то нужно установить соответствующий кодек.
Хранение
Данные по мелодии/звуку хранятся в следующем формате
- Имя мелодии – уникальное имя в пределах БД и необходимое для вызова мелодии
- Длительность – необходимое время длительности мелодии (если например мелодия длится 10 сек, а вам необходимо лишь 5). Если 0 – играет полная версия мелодии
- Имя файла – выбирается из локального ПК
- URL мелодии – соответствует своему названию. Необходим для того, чтобы не хранить постоянно файл на диске. Нужен полный доступ к файлу через URL
- Использовать AHK – включает режим воспроизведения мелодии при помощи скриптового языка AutoHotKey. Если выключено – то воспроизводится с помощью ActiveX-компоненты WMPlayer

В конфигурации присутствует обработка для тестирования. Работа поддерживается в 8.1 (полностью) и в 8.2 (в толстом клиенте обычного и управляемого приложения). Тонкий клиент не поддерживает ActiveX точно, а вот с AHK еще не пробовал связывать.
После интеграции данной конфигурации со своей достаточно лишь вставить в место вызова мелодии следующую команду:
УправлениеМелодями.ВоспроизвестиМелодию(ИмяМелодии, ЭтаФорма);//если вызов из формы, ели же нет - то ничего не пишем
//ИмяМелодии - текстовое имя, как она хранится в регистре