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

image_pdfimage_print

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

Просматривая возможности вывода звука в html5 http://w3schools.com/html/html5_audio.asp я задумался как с этим  обстоит дело в 1С.

Начнем по порядку.

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

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

2. Поэтому, вооружившись только средствами интернета, будем воспроизводить звуки в 1С.
Начнем работать с  тэгом audio. В интернете у всех уже современные браузеры и все работает. Но мы же будем звучать из 1С. Значит первое что нам надо — это воспроизвести звук в тонком клиенте. Так как поле HTML в 1С работает в режиме совместимости IE7, то мы воспользуемся старый тэгом для IE bgsound.

Мы можем хранить звук в виде макетов двоичных данных. И использовать их внутри HTML поля. подобным образом:

/* И добавить скрипт в страницу */

Можно использовать вместо тэга bgsound использовать embed или object, но это все-таки неявные ActiveX элементы (http://infostart.ru/public/90660)

3. А как нам работать в web клиенте? Правильно, в web клиенте 1С работает все по другому, ближе к современным стандартам. Возьмем в руки тэг audio, попробуем сделать данные во временном хранилище и получим полным облом. Так пока сделать звук не удалось.

Но мы используем другой метод, не столь распространенный. Надо превратить звук в текст. Скажете сказки? Нет читаем спецификации и доделываем.
http://jsfiddle.net/sikuda/eY8Ba/

Обработка доступна на Инфостарте  http://infostart.ru/public/248770/

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

Добавить комментарий