Асинхронное воспроизведение звука в 1С

28.07.17

Разработка - Механизмы платформы 1С

Достаточно простой пример как в 1С:Предприятие запустить воспроизведение звука и не ждать его окончания

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Асинхронное воспроизведение звука в 1С(обычное приложение)
.epf 100,35Kb
4
4 Скачать (2 SM) Купить за 2 150 руб.
Наш телефон 223-322.wav
.wav 26,88Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

Идея метода

Идея заключается в том, чтобы запустить приложение SndRec32 с ключами  -play -embedding -close методом ЗапуститьПриложение() с параметром ДожидатьсяОкончанияВыполнения = Ложь. это приводит к тому, что запускается программа с невидимым окном, воспроизводится звук, затем программа закрывается.

SndRec32 вопроизводит только файлы формата .wav, но это не мешает пожать звук кодеком mp3

Для работы требуется следующее:

  1. Программа SndRec32(есть среди стандартных программ в Windows XP, нет в Windows 7)
  2. Сам звуковой файл, который нужно вопроизвести в формате Wave(.wav) 

Пример программы

// Распаковываем ресурсы
ФайлSndRec32	= ПолучитьИмяВременногоФайла(".exe");
ПолучитьМакет("SndRec32").Записать(ФайлSndRec32);

ФайлЗвукМонетка = ПолучитьИмяВременногоФайла(".wav");
ПолучитьМакет("ЗвукМонетка").Записать(ФайлЗвукМонетка);
	
// Запускаем SndRec32 и не дожидаемся окончания выполнения
ЗапуститьПриложение(ФайлSndRec32 + " """ + ФайлЗвукМонетка + """ -play -embedding -close ",, Ложь);

Приложена обработка-пример для обычного приложения

Так же советую почитать комментарии к этой публикации - в них размещены интересные методы

Воспроизведение звука в 1С Звук в 1С Асинхронное воспроизведение звука

См. также

Механизмы платформы 1С Программист Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    6628    dsdred    45    

96

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    10502    bayselonarrend    21    

161

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    7454    dsdred    18    

81

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    24631    YA_418728146    30    

73

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    25615    SeiOkami    48    

136
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. androgin 28.07.17 21:13 Сейчас в теме
то есть штатными средствами винды уже никак не воспроизвести файл?
тем более используя асинхронность 1С ))))
2. SITR-utyos 1432 29.07.17 07:04 Сейчас в теме
(1) Поясните свою мысль.
Я искал решение как сделать то же, что в этой публикации(пустить звук так чтобы 1С продолжала работать) и нашел разные решения, которые позволяют воспроизвести звук, но во время его воспроизведения 1С ждет. Исключением возможно, является использование поляHTML документа на форме и тэг BgSound, но меня это не устравает
3. nbeliaev 836 31.07.17 21:21 Сейчас в теме
(2) у поля html есть тэг audio. Решает Вашу задачу, но только поле хтмл должно быть видно на форме.
4. VmvLer 31.07.17 21:37 Сейчас в теме
ЗапуститьПриложение()?
с ключами запуска?
.ехе?
.wav?

только когда совсем шарики за ролики заедут буду пихать эту крамолу в код 1С, имхо

такие решения подкупают простотой и позволяют, как говорят, на хромой козе выехать, но чаще эта коза боком выходит
SerVer1C; ipoloskov; +2 Ответить
5. azhilichev 214 01.08.17 09:06 Сейчас в теме
Пользуйтесь:
// Проигрываем звуковой файл
WMPlayer = Новый ComОбъект("WMPlayer.OCX");
WMPlayer.Settings.Volume = 20;
WMPlayer.Settings.Rate = 1;
WMPlayer.URL = ИмяФайла;
		
WMPlayer.Controls.Play();
Показать
6. TerveRus 02.08.17 12:08 Сейчас в теме
Я думал воспроизведение для асинхронности в фоновое задание поместят, а тут...)
7. alex_4x 87 11.08.17 12:26 Сейчас в теме
Прикольно.
Сделать оповещение можно пользователя о поступивших событиях, перед выгонянием из 1С, да и вообще полезная штука ;-)
Спасибо, буду пробовать ;-)
8. sergejkov 15.03.24 15:20 Сейчас в теме
у меня почему-то sndrec32 на 8.1 корректно работать не хочет. ждет когда я ручками нажму PLAY
Оставьте свое сообщение