19.11.2020 Александр Старосельский 17530
Как проиграть звуковой файл или воспроизвести...

Содержание:

1.       Стандартный (штатный) вариант использования системы звуковых сигналов

2.       Код 1C v 8.3

3.       Поле HTML документа


Здравствуйте, коллеги! Частенько бывает, что нужно оповестить пользователя или обратить его внимание на что-либо, используя звуковой сигнал. В данной публикации описано несколько вариантов активации звука в 1С: от стандартного до не самых тривиальных способов.  


1.      Стандартный (штатный) вариант использования системы звуковых сигналов


Синтаксис: Сигнал()


Данная функция не принимает никакие дополнительные параметры, а просто воспроизводит системные звуковые сигналы программ 1С. При этом характер и длительность звука может также зависеть от программно-аппаратного состава ПК и звуковых установок ОС.


Этот способ недоступен на сервере 1С:Предприятие 8 и не используется в модуле внешнего соединения устройств.  


2.      Код 1C v 8.3


&НаКлиенте

Процедура Команда(Команда)

   Сигнал();

КонецПроцедуры


С подключением внешних компонент в коде 1C v 8.3 (с помощью Speech API) можно реализовать голосовое воспроизведение какого-либо текста (функция «Speak», параметр — строка текста). Сама технология поддерживает 26 языков, включая русский, однако для его поддержки необходимо скачивать и устанавливать специальную библиотеку. На сегодняшний день пока только так.


Код 1C v 8.х

// Способ №1

файл = "C:\1.wav";

Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");

Скрипт.Language="vbscript";

Скрипт.AddCode("

                    |Function Main()

                    |Set oVoice = CreateObject(""SAPI.SpVoice"")

                    |set oSpFileStream = CreateObject(""SAPI.SpFileStream"")

                    |oSpFileStream.Open """+файлз+"""

                    |oVoice.SpeakStream oSpFileStream

                    |End Function");

Скрипт.Run("Main");


// Способ №2

файлз = "C:\1.wav";

oVoice = Новый COMObject("SAPI.SpVoice");

oSpFileStream = Новый COMObject("SAPI.SpFileStream");

oSpFileStream.Open(файлз);

oVoice.SpeakStream(oSpFileStream);

oSpFileStream.Close();

 

// Способ №3

файлз = "C:\1.wav";

DynamicWrapper = Новый COMОбъект("DynamicWrapperX");

DynamicWrapper.Register("winmm.dll", "sndPlaySoundA", "i=su");

DynamicWrapper.sndPlaySoundA(файлз, 1);

 

// Способ №4

// Проигрыватель - это ActiveX компонента "Windows Media Player"

Процедура КнопкаВыполнитьНажатие(Кнопка)

   ПроигратьЗвук("D:\Звуки\123.wav");

КонецПроцедуры

 

// Способ №5

Процедура ПроигратьЗвук(Путь)

   Попытка

       ЭлементыФормы.Проигрыватель.settings.autostart = Истина;

       ЭлементыФормы.Проигрыватель.settings.volume = 100;

       ЭлементыФормы.Проигрыватель.URL = Путь;

   Исключение

   КонецПопытки;

КонецПроцедуры  


3.      Поле HTML документа


И еще один способ — при помощи «bgsound» – html-тега в коде. На форме должен быть элемент «Поле HTML документа». Причем этот элемент должен быть именно виден на форме, т.к. звук не воспроизводится, если скрыть его (Видимость=Ложь).


Сама же реализация выглядит следующим образом:


// Способ №5

// при помощи html-тега bgsound, на форме должен быть элемент Поле HTML документа

&НаКлиенте

Процедура ВоспроизвестиMP3()

   мФайл = ПолучитьАдресФайла();

   ПолеHTML = "

   | <HTML>

   | <BODY scroll='no'>

   | <BGSOUND id='sound_think' balance=0 volume='-1000'></BGSOUND>

   | <div id=paperRaphael></div>

   | <script>

   | function PlaySound() {

   | if (!window.HTMLAudioElement) {

   | document.all.sound_think.volume=0;

   | document.all.sound_think.src = '"+мФайл+"';

   | }

   | }

   | window.onl oad = function(){

   | PlaySound();

   | }

   | </script>

   | </BODY>

   | </HTML>";

КонецПроцедуры

 

&НаСервере

Функция ПолучитьАдресФайла()

   Возврат ПоместитьВоВременноеХранилище(Обработки.ЗвукВ1С.ПолучитьМакет("sound"));

КонецФункции


В примере подразумевается, что существует макет с типом двоичные данные, в котором и храниться звуковой файл, а на форме имеется элемент «Поле HTML документа».


Специалист компании «Кодерлайн»

Александр Старосельский

Наши проекты

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные активы
Основные средства
Расчет зарплаты и кадровы...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ · Управление цепочками поставок · Управление договорами, включа...

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– Логистика адресного склада;
– Управление отношениями с пост...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление предприятием», «1С:Управление корпоративными финансами»...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки спецификаций из Excell...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский учет:
- Банк и касса...

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

Внедренное типовое решение:
1С:Бухгалтерия 8 КОРП

Проведение серии интервью с руководством и ключевыми специалистами Разработка формализованного описания модели существующих бизнес-процессо...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Создание полноценной управленческой системы взамен существующих
- Внедрением подсистем «Нормативное планирования», «Мобильное АРМ», «Ре...

ОАО «Интер РАО – Электрогенерация»
ОАО «Интер РАО – Электрогенерация»

Отрасль:
Электрогенерация

Внедренное типовое решение:
1С:Управление производственным предприятием

Для работы 2500 пользователей в 9 часовых поясах организована территориально-распределенная служба поддержки на базе "1С:Управление производ...

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение