Поговори со мною, 1С

Хочу представить мультимедийную конфигурацию «1С управления мелодиями» . Что она может :
1. Хранить в базе информацию о мелодии –  все форматы, которые может воспроизвести ваша ОС Windows;
2. Проигрывать сохраненную мелодию вызовом одной процедуры;
3. Два разных способа проигрывания мелодий;
4. Возможность проигрывания мелодии без повторного сохранения файла на диск;

Хочу представить мультимедийную конфигурацию «1С управления мелодиями» . Что она может :

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

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

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

 

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

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

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

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

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

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

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

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

 

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

16 Comments

  1. Altair777

    (0) стесняюсь спросить 🙂

    а что такое

    все форматы может прораты ваша ОС Windows
    Запускается срипт, которому передаем имя файла мелодии
    Работа поддерживается в 8.1 (повинстю)

    Боюся що не всі це зрозуміють.

    Про знаки пунктуации я вообще молчу….

    Reply
  2. Altair777

    (0)> При сканировании штрихкода курьера – голосом произносится его номер

    Что-то такой возможности я не нашел в данной конфигурации (качал с сайта).

    P.S. Снова стесняюсь спросить — а где на курьере нанесен код?

    Reply
  3. Altair777

    И еще — есть кнопочка «Проиграть», а хотелось бы еще увидеть примеры кнопочек «Пауза» и «Остановить».

    И не мешало бы убрать паразитный рудимент 🙂

    Reply
  4. Altair777

    После обновления одно «прораты» убралось, зато второе осталось 🙂

    Reply
  5. Smaylukk

    (1), искренне прошу прощения за то, что выложил непроверенный пост. Это непростительно с моей стороны. Отредактировал пост еще раз. Все найденные ошибки исправил. Каюсь(2)

    Reply
  6. Smaylukk

    (2), я просто приводил примеры использования. В этой конфигурации этого естественно нет.

    Касательно штрих-кода — его можно хоть на лбу наносить, лишь бы сканер считал 🙂

    В нашем случае у курьеров есть специальные бейджики, на которых и нанесен штрих-код.

    Reply
  7. Smaylukk

    (3), думаю, что эти кнопочки можно добавить. Но цель — фоновое воспроизведение, а не плеер. А что до «рудимента», то это как раз побочный эффект. Это открывается общая форма, на которой расположен ActiveX-компонент. Без этого мелодия не воспроизводится. Но, если вызывающая форма развернута на весь экран и в процедуру передан параметр «ЭтаФорма», то общая форма не перекроет владельца. Как открыть форму и при этом оставить ее невидимой я не нашел.

    Reply
  8. Altair777

    (6) Smaylukk,

    > я просто приводил примеры использования. В этой конфигурации этого естественно нет.

    А можно этот пример не просто обозначить, но и добавить? Очень хочется услышать голос, произносящий номер курьера 🙂

    Reply
  9. Smaylukk

    (8), по вашей просьбе сделал выгрузку со справочником «Курьеры» и голосом, который произносит его номер.

    Для тестирования надо открыть обработку «Тестирование по курьеру». На сайте тоже обновил.

    Reply
  10. Altair777

    (9) Smaylukk, вот спасибо 🙂

    Reply
  11. Altair777

    (10)

    при вводе курьера и просто при проигрывании мелодии

    {ОбщийМодуль.УправлениеМелодями.Модуль(45)}: Значение не является значением объектного типа (Записать)

    ДвоичныеДанные.Записать(ИмяВременногойФайла);

    Reply
  12. Smaylukk

    (11) пока для работы в настройках мелодии для мелодии к1 поставьте URl https://dl.dropbox.com/u/2228747/sounds/1.mp3, а полное имя уберите.

    Reply
  13. AlexO

    1С-ники настолько одиноки, что уже разговаривают с 1С? 🙂

    Reply
  14. Altair777

    (13) AlexO,

    А чем мы хуже админов? 🙂 Они с серверами не только разговаривают, они им еще и имена дают.

    Reply
  15. e200367

    Для корректной работы, нужны кодеки?

    Reply
  16. Smaylukk

    (15), конфигурация воспроизведет то, что может воспроизвести ваша Windows.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *