|
Воспроизведение звука HTML | ☑ | ||
|---|---|---|---|---|
|
0
Shalun
naïve
01.10.26
✎
19:19
|
Всем привет! Второй день долблюлюсь с воспроизведением звука, но сцука молчит как партизан. Сразу скажу, опыта со звуком нет, по сему сильно не пеняйте.
Что сделал: В управляемую форму добавил реквизит АудиоПлеерHTML с типом Строка и элемент формы ПолеHTMLДокумента, связанный с этим реквизитом. Создал макет двоичные данные, и загрузил в него звук. Далее код: &НаСервере Функция ПолучитьЗвукиВФорматеBase64() Результат = Новый Структура; ДД_Успех = ПолучитьОбщийМакет("ЗвукУспешногоСканирования"); ДД_Ошибка = ПолучитьОбщийМакет("ЗвукОшибкиСканирования"); Результат.Вставить("Успех", Base64Строка(ДД_Успех)); Результат.Вставить("Ошибка", Base64Строка(ДД_Ошибка)); Возврат Результат; КонецФункции &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЗвуковыеСемплы = ПолучитьЗвукиВФорматеBase64(); ЗвукУспехаBase64 = ЗвуковыеСемплы.Успех; ЗвукОшибкиBase64 = ЗвуковыеСемплы.Ошибка; АудиоПлеерHTML = "<!DOCTYPE html> |<html> |<head> | <meta charset='utf-8'> | <script> | function playSound(base64Data, mimeType) { | try { | var audio = new Audio('data:' + mimeType + ';base64,' + base64Data); | audio.play(); | } catch(e) { | console.error('Audio playback error:', e); | } | } | </script> |</head> |<body style='margin:0; padding:0; background:transparent;'></body> |</html>"; КонецПроцедуры &НаКлиенте Процедура ВоспроизвестиЗвуковойСигнал(ТипСигнала = "Успех") СтрокаBase64 = ?(ТипСигнала = "Успех", ЗвукУспехаBase64, ЗвукОшибкиBase64); МеткаВремени = Формат(ТекущаяУниверсальнаяДатаВМиллисекундах(), "ЧГ=0"); АудиоПлеерHTML = "<!DOCTYPE html> |<html> |<head><meta charset='utf-8'></head> |<body style='margin:0; padding:0; background:transparent;'> | <!-- Timestamp: " + МеткаВремени + " --> | <audio autoplay='autoplay'> | <source src='data:audio/mp3;base64," + СтрокаBase64 + "' type='audio/mpeg'> | </audio> |</body> |</html>"; КонецПроцедуры В общем, ошибки никакой не всплывает, но звука нет. Подскажите, что тут не так? Скажу сразу, скрипт взят с интернета, сам не пишу, по этому не спрашивайте что там зачем. Лучше подскажите что нужно делать? Заранее благодарю за конструктивные ответы! |
|||
|
1
Волшебник
01.10.26
✎
19:30
|
если это мобильный клиент (ТСД, например), то используйте:
СредстваМультимедиа.ВоспроизвестиАудио(...) или даже СредстваМультимедиа.ВоспроизвестиТекст("Марка ОК") |
|||
|
2
sikuda
01.10.26
✎
19:38
|
(0) Статью десять лет назад написал, добрые люди уже добавил беслатную обработочку для старждущих и тонкости описали, но нет лень матушка у Вас?
https://infostart.ru/1c/tools/1259789/ |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |