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

28.07.17

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

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

Скачать исходный код

Наименование Файл Версия Размер
Асинхронное воспроизведение звука в 1С(обычное приложение)
.epf 100,35Kb
4
.epf 100,35Kb 4 Скачать
Наш телефон 223-322.wav
.wav 26,88Kb
1
.wav 26,88Kb 1 Скачать

Идея метода

Идея заключается в том, чтобы запустить приложение 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 Конфигурации 1cv8 Бесплатно (free)

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

13.03.2024    3221    dsdred    16    

65

Как готовить и есть массивы

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

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

24.01.2024    7516    YA_418728146    25    

69

Планы обмена VS История данных

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

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    7758    dsdred    36    

115

1С-ная магия

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

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

06.10.2023    20117    SeiOkami    46    

124

Дефрагментация и реиндексация после перехода на платформу 8.3.22

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

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    14047    human_new    27    

77

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    10417    YA_418728146    7    

148

Внешние компоненты Native API на языке Rust - Просто!

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

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    7017    sebekerga    54    

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

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

такие решения подкупают простотой и позволяют, как говорят, на хромой козе выехать, но чаще эта коза боком выходит
SerVer1C; ipoloskov; +2 Ответить
5. azhilichev 213 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 86 11.08.17 12:26 Сейчас в теме
Прикольно.
Сделать оповещение можно пользователя о поступивших событиях, перед выгонянием из 1С, да и вообще полезная штука ;-)
Спасибо, буду пробовать ;-)
8. sergejkov 15.03.24 15:20 Сейчас в теме
у меня почему-то sndrec32 на 8.1 корректно работать не хочет. ждет когда я ручками нажму PLAY
Оставьте свое сообщение