1С 8.3 Произнести текст голосом

Aug 17, 2022 13:32

Аудио звук в 1С 8.3:

&НаКлиенте
Процедура АудиоКоманда(Команда)

// Работает по умолчанию во всех современных ОС, которые поддерживают .NET Framework 4
    АудиоГолос = Новый COMObject("SAPI.SpVoice");
    АудиоГолос.Speak("Я верю, друзья, караваны ракет.
    |Помчат нас вперед, от звезды до звезды.
    |На пыльных тропинках далеких планет.
    |Останутся наши следы.");

КонецПроцедуры


Чтение аудио файла (асинхронно) в 1С 8.3:

&НаКлиенте
Процедура ВоспроизвестиАсинхронноАудиоФайл(Команда, ПутьКФайлу)

//Flags: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms720892(v=vs.85)
АудиоГолос = Новый COMОбъект("SAPI.SpVoice");
ВоспроизвестиАсинхронно = Истина;
SVSFlagsAsync = 1;
SVSFIsFilename = 4;
Flags = ?(ВоспроизвестиАсинхронно, SVSFlagsAsync, 0) + SVSFIsFilename;

АудиоГолос.Speak(ПутьКФайлу, Flags);

КонецПроцедуры

Пример реализации объявлений электронной очереди с помощью COMObject("SAPI.SpVoice") в 1С 8.3:

&НаСервере
Процедура ЗаполнитьТабло()

//Заполним вызванных
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ЭлектроннаяОчередь.Услуга КАК Услуга,
| Электроннаябчередь.Талон КАК Талон,
| Электроннаябчередь.Окно КАК Окно,
| ЭлектроннаяОчередь.Вызов КАК Вызов
| ИЗ
| РегистрСведений.ЭлектроннаяОчередь КАК ЭлектроннаяОчередь
| ГДЕ
| ЭлектроннаяОчередь.Услуга В (&СписокУслуг)
| И ЭлектроннаяОчередь Организация = &Организация
| И ЭлектроннаяОчередь Окно В (&СписокОкон)
| И ЭлектроннаяОчередь.Терминал В (&СписокТерминалов)
|
| УПОРЯДОЧИТЬ ПО
| Вызов УБЫВ";

Запрос.УстановитьПараметр ("Организация", Объект.Табло.Организация);
Запрос.УстановитьПараметр ("СписокУслуг", СписокУслуг);
Запрос.УстановитьПараметр ("СписокОкон", СписокОкон);
Запрос.УстановитьПараметр ("СписокТерминалов" , СписокТерминалов);
ТаблицаОбрабатываемых=Запрос.Выполнить().Выгрузить();

ТекущиеВызовы.Очистить();
Для Каждого Стр Из ТаблицаОбрабатываемых Цикл

Если ТекущийВызов<>""+Стр.Услуга.Префикс+Стр.талон+"=>"Стр.Окно Тогда
ТекущийВызов=""+Стр.Услуга.Префикс+Стр.талон+"=>"Стр.Окно;
ДатьСигнал=Истина;
ДатьСигнал=Истина;
ДатьСигнал=Истина;
АудиоГолос = Новый COMObject("SAPI.SpVoice");
АудиоГолос.Rate = 3;
АудиоГолос.Volume = 100;
АудиоГолос.Speak("Талон номер " + ""+Стр.Услуга.Префикс+Стр.талон + ". Пройдите к - "+ Стр.Окно);
АудиоГолос.Speak("Талон номер " + ""+Стр.Услуга.Префикс+Стр.талон + ". Пройдите к - "+ Стр.Окно);
КонецЕсли;

НоваяСтрока=текущиеВызовы.Добавить();
НоваяСтрока.Услуга=Стр.Услуга;
НоваяСтрока.Талон=Стр.Талон;
НоваяСтрока.ПредставлениеТалона=""+Стр.Услуга.Префикс+Стр. талон;
НоваяСтрока.окно=Стр.Окно;
//НоваяСтрока.разделитель="=>";

КонецЦикла;
//...
КонецПроцедуры

Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, ни­дер­ландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up