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

Содержание:

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С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автома...

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

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

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

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

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

Внедренное типовое решение:
БИТ.Финанс

Построение единого информационного пространства финансовой службы;
Учет ...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

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

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

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

Отрасль:

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

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

Автоматизация торговых операций на базе "1С:Управление торговлей" в ОАО "Авиазапчасть"
ОАО «Авиазапчасть»

Отрасль:
Авиационно-космическая промышленность

Внедренное типовое решение:
1С:Управление торговлей

- Оптовая торговля;
- Оформление заказов покупателей;
- Планирование прод...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

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

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

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

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

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

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

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

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

АО «РЭП Холдинг»
АО «РЭП Холдинг»

Отрасль:
Энергомашиностроительный холдинг

Внедренное типовое решение:
«1С: Управление производственным предприятием» и «1С:Консолидация ПРОФ»

- Функциональный блок «Консолидированная отчетность РСБУ» - разработка час...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

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

- Разработка подсистемы оперативного учета транзакций...

Наши соц. сети

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

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

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