Modber Сообщество
профессионалов по 1С

Включаем звук в 1С



Скачиваний: 4
Платформы: 1С:Предприятие 8.3, 1С:Предприятие 8.2, Linux, Web, Windows
Конфигурации: Все конфигурации
2014-01-06
3045 
sikuda
8  
Доброго времени суток!

1. Когда в 1С не было управляемых форм, вывод звука основывался на системных вызовах Windows. Можно было зарегистрировать специальный ActiveX и вызвать его специальную функцию. Например 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) Для понятности сделаем простую внешную обработку для вывод звука(см. ниже)

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

Р.S.

Ну далее вы понимаете к чему я клоню — пора делать простые игрушки работающие и в 1С.



Как установить отработку или отчет 1С


Скачивание доступно только зарегистрированным пользователям.
Зарегистрируйтесь или войдите под своим аккаунтом.


В центре внимания

Комментарии (1)