Доброго времени суток!
1. Когда в 1С не было управляемых форм, вывод звука основывался на системных вызовах Windows. Можно было зарегистрировать специальный ActiveX и вызвать его специальную функцию. Например в http://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;
3. А как нам работать в web клиенте? Правильно, в web клиенте 1С работает все по другому, ближе к современным стандартам. Возьмем в руки тэг audio, попробуем сделать данные во временном хранилище и получим полным облом. Так пока сделать звук не удалось. Но мы используем другой метод, не столь распостраненный. Надо превратить звук в текст. Скажете сказки? Нет читаем спецификации и доделываем (data:audio/mpeg;base64)
Дополнительная обработка (http://infostart.ru/public/248770/) - бухгалтерские счеты из первой ссылки. Уж больно они мне понравились.
Р.S.
Ну далее вы понимаете к чему я клоню - пора делать простые игрушки работающие и в 1С.