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

Содержание:

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С:Документооборот КОРП

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

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

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

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

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

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты...

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

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

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

Управление цепочками поставок Оптовая торговля ...

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

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

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

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

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

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

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

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

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО Фирма «Бисер»
ООО фирма «Бисер»

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

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

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

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

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

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

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

- Зафиксировали процессы по блокам бухгалтерского, налогового учета, казнач...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

Отрасль:
Медиа

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

- Оптимизация производительности системы, в том числе сервера Postgre. ...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

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

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

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

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

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

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

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