Включаем звук в 1С. Доступно и всерьез.
Разработка - Математика и алгоритмы
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Статья для старой версии 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!
Свойство обозревателя - Дополнительно - Мультимедиа - Воспроизводить звуки на вэб-страницах.
Вступайте в нашу телеграмм-группу Инфостарт