1. Хранить в базе информацию о мелодии – все форматы, которые может воспроизвести ваша ОС Windows;
2. Проигрывать сохраненную мелодию вызовом одной процедуры;
3. Два разных способа проигрывания мелодий;
4. Возможность проигрывания мелодии без повторного сохранения файла на диск;
Хочу представить мультимедийную конфигурацию «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 еще не пробовал связывать.
После интеграции данной конфигурации со своей достаточно лишь вставить в место вызова мелодии следующую команду:
УправлениеМелодями.ВоспроизвестиМелодию(ИмяМелодии, ЭтаФорма);//если вызов из формы, ели же нет — то ничего не пишем
//ИмяМелодии — текстовое имя, как она хранится в регистре
(0) стесняюсь спросить 🙂
а что такое
Боюся що не всі це зрозуміють.
Про знаки пунктуации я вообще молчу….
(0)> При сканировании штрихкода курьера – голосом произносится его номер
Что-то такой возможности я не нашел в данной конфигурации (качал с сайта).
P.S. Снова стесняюсь спросить — а где на курьере нанесен код?
И еще — есть кнопочка «Проиграть», а хотелось бы еще увидеть примеры кнопочек «Пауза» и «Остановить».
И не мешало бы убрать паразитный рудимент 🙂
После обновления одно «прораты» убралось, зато второе осталось 🙂
(1), искренне прошу прощения за то, что выложил непроверенный пост. Это непростительно с моей стороны. Отредактировал пост еще раз. Все найденные ошибки исправил. Каюсь(2)
(2), я просто приводил примеры использования. В этой конфигурации этого естественно нет.
Касательно штрих-кода — его можно хоть на лбу наносить, лишь бы сканер считал 🙂
В нашем случае у курьеров есть специальные бейджики, на которых и нанесен штрих-код.
(3), думаю, что эти кнопочки можно добавить. Но цель — фоновое воспроизведение, а не плеер. А что до «рудимента», то это как раз побочный эффект. Это открывается общая форма, на которой расположен ActiveX-компонент. Без этого мелодия не воспроизводится. Но, если вызывающая форма развернута на весь экран и в процедуру передан параметр «ЭтаФорма», то общая форма не перекроет владельца. Как открыть форму и при этом оставить ее невидимой я не нашел.
(6) Smaylukk,
> я просто приводил примеры использования. В этой конфигурации этого естественно нет.
А можно этот пример не просто обозначить, но и добавить? Очень хочется услышать голос, произносящий номер курьера 🙂
(8), по вашей просьбе сделал выгрузку со справочником «Курьеры» и голосом, который произносит его номер.
Для тестирования надо открыть обработку «Тестирование по курьеру». На сайте тоже обновил.
(9) Smaylukk, вот спасибо 🙂
(10)
при вводе курьера и просто при проигрывании мелодии
{ОбщийМодуль.УправлениеМелодями.Модуль(45)}: Значение не является значением объектного типа (Записать)
ДвоичныеДанные.Записать(ИмяВременногойФайла);
(11) пока для работы в настройках мелодии для мелодии к1 поставьте URlhttps://dl.dropbox.com/u/2228747/sounds/1.mp3 , а полное имя уберите.
1С-ники настолько одиноки, что уже разговаривают с 1С? 🙂
(13) AlexO,
А чем мы хуже админов? 🙂 Они с серверами не только разговаривают, они им еще и имена дают.
Для корректной работы, нужны кодеки?
(15), конфигурация воспроизведет то, что может воспроизвести ваша Windows.