Включаем звук в 1С. Доступно и всерьез.

03.07.20

Разработка - Математика и алгоритмы

Как сделать воспроизведение звука в 1С без внешних компонентов? Решаем средствами интернета. Для тонкого, толстого и web-клиента.

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Простой вывод звука
.epf 39,25Kb
201
201
1 SM
Скачать Купить за 1 850 руб.
Счеты для 1С
.epf 55,50Kb
80
80
1 SM
Скачать Купить за 1 850 руб.

Статья для старой версии 1С - новая будет в //infostart.ru/public/1259789/

 

 Доброго времени суток в 2015 году!

1. Когда в 1С не было управляемых форм, вывод звука основывался на системных вызовах Windows. Можно было зарегистрировать специальный ActiveX и вызвать его специальную функцию. Например в //infostart.ru/public/85155/используется DynamicWrapperX и следующий код:

Попытка
  DynamicWrapper =Новый COMОбъект("DynamicWrapperX"); 
Исключение
  Объект=ПолучитьМакет("dynwrapx");
  Объект.Записать(КаталогВременныхФайлов() +"dynwrapx.dll");
  КомандаСистемы("regsvr32 dynwrapx.dll",КаталогВременныхФайлов() );
  Предупреждение("Поздравляю теперь и тебя появился звук в 1С"+ Символы.ПС +"Запустите обработку заново", 5);
  Закрыть();
КонецПопытки; 	                                               
DynamicWrapper.Register("winmm.dll", "sndPlaySoundA", "i=su");

Легко заметить, что данная библиотека может зарегистрировать функции не только работы со звуком. И возникает большая опасность, что это может использоваться не только в благих целях. С другой стороны в тонком клиенте или web клиенте доступ к таким компонентам нету. И пользоваться системным вызовом Windows из браузера неполучиться.

2. Поэтому, вооружившись только средствами интернета, будем воспроизводить звуки в 1С. Начнем работать с тэгом audio в html5 http://w3schools.com/html/html5_audio.asp. В интернете у всех уже имеются современные браузеры, и все прекрасно работает. Но мы же будем звучать из 1С. Значит первое что нам надо - это воспроизвести звук в тонком клиенте. Так как поле HTML в 1С работает в режиме совместимости IE7, то мы воспользуемся старый тэгом для IE bgsound. Мы можем хранить звук в виде макетов двоичных данных. И использовать их внутри HTML поля:

//Код для 1С

Данные = ОбъектОбработка.ПолучитьМакет("sound_ball");
АдресЗвука = ПоместитьВоВременноеХранилище(Данные);
url = '"+АдресЗвука+"' 
/* страница HTML */
BGSOUND id='sound_think' balance=0 volume='-5000'
/* И добавить скрипт в страницу */
document.all.sound_think.volume=0;
document.all.sound_think.src = url;


Проверяем работу в тонком и толстом клиенте.
- Windows 7 IE11 (компьютер)
- Windows Vista IE7 (VirtualBox)
- Windows XP IE8 (VirtualBox)
(Проверка на виратуальной машине VirtualBox со звуком, картинки прилагаются, спасибо Microsoft http://loc.modern.ie/ru/virtualization-tools#downloads)

Для понятности сделаем простую внешную обработку для вывод звука(см. ниже). Работает в тонком и толстом клиенте.

Но интересной особенностью этого метода, является то что IE и соответственно 1С не воспроизводит wav файлы, а mp3 легко. Вот вам и собственный формат (http://w3schools.com/html/html5_audio.asp)

 

3. А как нам работать в web клиенте? Правильно, в web клиенте 1С работает все по другому, ближе к современным стандартам. Возьмем в руки тэг audio, попробуем сделать данные во временном хранилище и получим полным облом. Так сделать звук в тонком клиенте не удалось. Но мы используем другой метод, не столь распостраненный. Надо превратить звук в текст. Скажете сказки? Нет читаем спецификации и доделываем (тип данных data:audio/mpeg;base64)

Дополнительная обработка -  бухгалтерские счеты //infostart.ru/public/85155/ Уж больно они мне понравились. Там полностью делаем для всех видов клиентов 1С.

Попробовать их в интернете - пожалуйста http://jsfiddle.net/sikuda/eY8Ba/

 

Р.S.

Статья для старой версии 1С - новая будет в //infostart.ru/public/1259789/

И самое главное не забудьте включить звук в Internet Explorer!

Свойство обозревателя - Дополнительно - Мультимедиа - Воспроизводить звуки на вэб-страницах.

звук audio sound

См. также

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

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    12486    dimanich70    81    

126

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

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

28.08.2023    11809    YA_418728146    7    

158

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2895    43    progmaster    8    

4

Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    17349    152    sapervodichka    112    

134

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

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    7845    quazare    8    

110

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

Столкнулся с тем, что мне приходится писать гору отчетов. Во многих приходится использовать повторяющиеся приемы. Решил написать шпаргалку, которая, надеюсь пригодится не только мне. В этой статье: Объединение ячеек в отчете только на определенном уровне иерархии, Постобработка итогов в табличном документе, Скрытие колонок в зависимости от количества месяцев в периоде.

28.05.2022    9863    milkers    11    

97

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

В данной статье я рассматриваю несколько полезных "классических" функций и процедур для работы с данными, которые уже встроены в БСП и готовы к использованию.

25.04.2022    16934    quazare    11    

138
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Franco 82 31.12.13 10:32 Сейчас в теме
...Надо превратить звук в текст
в Base64, наверное?
3. sikuda 676 31.12.13 11:44 Сейчас в теме
(1) Ну да.
(2) Какой у Вас IE? Здесь работает http://jsfiddle.net/sikuda/gvGY9/ ?
11. postovalov 202 14.01.14 10:53 Сейчас в теме
(3)

IE 9. Проблема была связана с тем, что в свойствах IE был отключено воспроизведение звука.
2. postovalov 202 31.12.13 11:03 Сейчас в теме
Скачал, запустил. Звука нет :(
В чем может быть проблема? - ОС Win Vista
4. DenisKin 20 01.01.14 14:17 Сейчас в теме
Скачал, запустил, все зависло и вылетело ?!
5. sikuda 676 03.01.14 15:11 Сейчас в теме
(4) DenisKin,
Проверил на Windows 7 IE11(реал), Windows 8.1 IE11, Windows Vista IE7, Windows XP IE8(три VirtualBox) если приведете параметры вашей системы - проверю.
6. DenisKin 20 03.01.14 20:58 Сейчас в теме
7. sikuda 676 04.01.14 08:31 Сейчас в теме
(6) DenisKin, Моя основная машина на работе и стационарник дома отлично работают. Не лазили в реестр для улучшения 1С?
15. 2vadmaster 40 21.01.14 15:34 Сейчас в теме
(5) Да работает не плохо - но не стабильно - кликаю много и в какой то момент вылетает 1С с ошибкой ядра. Как сделать плей-лист из звуков?
16. sikuda 676 21.01.14 16:12 Сейчас в теме
(15) 2vadmaster,
Давайте по серьезному, версия Windows, IE, 1C, клиента 1С, обработка "Доступно и всерьез" или Счеты.
Пока не встречал вылетов, кроме компьютеров в которых залезли в реестр доброжелатели.
Если все приведете смогу проверить на виртуальной машине.
22. AlexanderKai 27.02.15 13:10 Сейчас в теме
(15) 2vadmaster,
Предприятие под отладкой из конфигуратора?
Сейчас внедряю DynamicWrapperX в своем проекте и методом плясок с бубном обнаружил, что если запускать обработку без отладки, то все просто идеально. Если из-под отладчика, то получаем постоянные вылеты 1С (в ntdll.dll). Причем вылетает как захочет, а может и не вылететь.
23. sikuda 676 27.02.15 16:41 Сейчас в теме
(15) 2vadmaster, Исправил ошибку повторного нажатия кнопки в толстом клиенте. Проверил в новой версии 1С 8.3.6.
8. пользователь 08.01.14 11:57
Сообщение было скрыто модератором.
...
9. haggart 13.01.14 15:25 Сейчас в теме
Я не пойму где это применить? Это стартовая площадка для 1Сников которые решат писать игрушки на 1С?
10. sikuda 676 13.01.14 17:12 Сейчас в теме
(9) Скорее для звукового сопровождения процесса. Справку или демо пример по программе можно начитать. И пользователь будет сидеть и слушать.
12. cool.vlad4 2 14.01.14 11:35 Сейчас в теме
(10) а какой в этом смысл? эти игрушки и без 1С работают.
13. Gendalf_beliy 14.01.14 11:49 Сейчас в теме
(12) cool.vlad4, ну мало ли. Может у людей на работе в браузере ограничения на некоторые сайты, хотя не уверен точно, не сработают ли эти ограничения в 1с, смотря как их настроили.
14. sikuda 676 15.01.14 14:52 Сейчас в теме
(13) Gendalf_beliy, Если все скрипты перенести в обработку 1С(моя со счетами), то и интернет не нужен.
17. tr75 24.05.14 06:08 Сейчас в теме
Наверно для игр было бы полезно.
18. yura1960 22.06.14 13:05 Сейчас в теме
Ну уж нет. Чтобы я своим юзверям это поставил... Они и так любят радио через Инет слушать. Еще им озвучку ставить...
19. Serge_ASB 25.10.14 11:58 Сейчас в теме
при выполнении ругается на :
{Документ.ВводОстатков.Форма.ФормаДокумента.Форма(175)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Данные = ОбъектОбработка.ПолучитьМакет("sound_ball");
по причине:
Недопустимое значение параметра (параметр номер '1')

И я бы тоже не понял, чего он меня хотят. Где взять (как сделать) этот макет?
20. sikuda 676 06.11.14 09:46 Сейчас в теме
(19) Serge_ASB, Сам скачал обработку с Инфостарта. Проверил в УФ и обячных формах 1С 8.3.5.1186. Все работает. Бинарный макет "sound_ball" в обработке есть. Проверьте что за Документ.ВводОстатков?
И самое главное не забудьте включить звук в Internet Explorer!
21. Serge_ASB 12.11.14 12:49 Сейчас в теме
Решил другим способом:
oVoice = Новый COMObject("SAPI.SpVoice");

oSpFileStream = Новый COMObject("SAPI.SpFileStream");
oSpFileStream.Open(Файл);
oVoice.SpeakStream(oSpFileStream);
oSpFileStream.Close();	
Но - звук есть под "обычной" Виндой - Win 7 или Win 8. А будучи запущенной из-под серверной (когда на сервере стоит SQL и база крутится там) - ругается на
oSpFileStream = Новый COMObject("SAPI.SpFileStream");
anton.fly7; +1 Ответить
24. pri_hod 77 14.03.15 16:06 Сейчас в теме
Тонкий клиент, база на веб сервере, не работает звук. Если через браузер то работает... Как заставить работать в тонком клиенте? 1С:Предприятие 8.3 (8.3.5.1119)
25. sikuda 676 14.03.15 20:51 Сейчас в теме
(24) pri_hod, Честно говоря звук для web-клиенте доделан только в счетах(вторая обработка). Работает даже для Linux клиента(Звук работает, градиент цвета нет). Проверяли именно счеты?
26. InformStandart 11 27.04.17 17:57 Сейчас в теме
Не работает звук под вэб клиентом; подскажите возможные варианты что делать, звук в браузерах включен
27. sikuda 676 28.04.17 10:51 Сейчас в теме
(26) В вэб-клиенте вывод звука происходит совершенно по другому. Галочка в IE там не важна. Только в вэб работает вторая обработка со счетами. Проверил сейчас IE 11 (Режим документов Edge).
28. sikuda 676 28.04.17 10:56 Сейчас в теме
29. unknown181538 158 25.06.20 18:19 Сейчас в теме
IE 11. Не воспроизвелся звук на разных машинах.
То, что "в интернете" пишет, что не поддерживается
30. sikuda 676 26.06.20 11:15 Сейчас в теме

Флажок стоит? А то все забывают.
31. unknown181538 158 28.06.20 02:27 Сейчас в теме
32. sikuda 676 03.07.20 10:56 Сейчас в теме
(31) Да стоит переписать обработочку... Потестируйте - https://yadi.sk/d/Tv5LovYRyMWt-w
unknown181538; +1 Ответить
33. unknown181538 158 03.07.20 17:13 Сейчас в теме
(32) К сожалению, на рабочем сервере не могу полноценно тестануть. Но на локальной машинке с IE 11 заработало! Классно бы, если бы еще ползунок получилось сделать.
34. sikuda 676 04.07.20 15:04 Сейчас в теме
(33) Да в стандартном варианте вообще черный квадрат на элементами управления. И не воспроизводит второй раз.
Первое еще можно преодолеть установив внешний плеер, а с глюками второго воспроизведения вообще непонятно как бороться.
https://yadi.sk/d/QX7PijeBRZzqJQ
unknown181538; +1 Ответить
35. unknown181538 158 04.07.20 18:42 Сейчас в теме
36. sikuda 676 05.07.20 18:26 Сейчас в теме
(35) И если нажать на внутренний play он воспроизводит?
38. unknown181538 158 08.07.20 09:26 Сейчас в теме
(36) ну да, если я правильно понял вопрос
37. sikuda 676 07.07.20 09:14 Сейчас в теме
Сделал работающим, пришлось все переписать https://infostart.ru/public/1259789/
Если есть вопросы - пишите.
Оставьте свое сообщение