|
Проигрыш голосового движка в фоне | ☑ | ||
---|---|---|---|---|
0
FiftyStars
01.07.13
✎
06:42
|
Доброго времени суток.
Конфигурация Розница Ред.2 Решил вот влепить озвучивание некоторых действий пользователя в конфигурацию, поставил голосовой движок...вроде все работает, но хотелось бы, чтобы воспроизведение было в фоне, и пользователю было бы необязательно ожидать окончания воспроизведения для того, чтобы продолжить работу. Желательно, чтобы это работало на тонком, толстом клиентах в управляемого приложения и в обычном приложении, веб-клиент не интересует. Есть идеи, товарищи? |
|||
1
Рэйв
01.07.13
✎
06:43
|
таймер нужен на это дело.
Нет в 1С раздельных потоков без ВК. |
|||
2
Cube
01.07.13
✎
06:44
|
(0) "пользователя в конфигурацию, поставил голосовой движок"
Что за зверь? |
|||
3
Cube
01.07.13
✎
06:45
|
(0) Как вариант, можно через внешнюю программулину какую-нибудь воспроизводить звук...
|
|||
4
FiftyStars
01.07.13
✎
06:52
|
(1) Таймер? Внешние компоненты выполняются в фоне? О_о
(2) Типа как Microsoft Sam, только русский (3) Здесь так не |
|||
5
Рэйв
01.07.13
✎
06:54
|
(4)На внешних компанентах как их напишешь так и будут выполняться:-)
|
|||
6
FiftyStars
01.07.13
✎
06:55
|
(3) Здесь так не прокатит - здесь не просто проигрыш звукового файла. Я думаю нужно запускать какой то внешний скрипт с параметрами(текст воспроизведения, голос воспроизведения и т.д.), который работал бы отдельно от 1с
|
|||
7
Cube
01.07.13
✎
06:56
|
(4) "Типа как Microsoft Sam, только русский"
Интересует, что ты имеешь ввиду, говоря "в конфигурацию поставил голосовой движок"? Может ты его в винде установил просто? |
|||
8
Cyberhawk
01.07.13
✎
06:56
|
А озвучка щас как прикручена? Другими словами, как 1С отдает команду вопроизвести звук?
|
|||
9
Cube
01.07.13
✎
06:56
|
(6) Так ты объясни, как сейчас работает-то...
|
|||
10
FiftyStars
01.07.13
✎
07:03
|
(9)(8)
Голосовой модуль хранится в ХЗ, при необходимости устанавливается в WIN, прописываются ключи реестра, а для воспроизведения используется функция: Процедура Проговорить(Текст) VoiceMod = "SAPI.SpVoice"; VoiceMod.Voice = VoiceMod.GetVoices().Item(3); VoiceMod.Rate = СкоростьОзвучки; VoiceMod.Speak(Текст); КонецПроцедуры |
|||
11
Cube
01.07.13
✎
07:05
|
(10) Ну вот и ответ. Переписывай этот код в батник и выполняй его (батник) из 1С...
|
|||
12
FiftyStars
01.07.13
✎
07:14
|
хех писал по памяти забыл ком объект создать xD
VoiceMod = Новый COMОбъект("SAPI.SpVoice") |
|||
13
SanGvin
01.07.13
✎
07:19
|
или шелл скриптом можно попробовать
|
|||
14
FiftyStars
01.07.13
✎
09:18
|
Решил задачку.
Написал ВК на Delphi, но там тоже работать асинхронно ничего не хотело. В VoiceMod.Speak второй параметр можно поставить "1" - асинхронное чтение. После этого ничего не читается вобще, но, это потому, что при асинхронном чтении VoiceMod умирает сразу же на выходе из процедуры, в которой, собственно и производится чтение. В итоге решил все без внешней компоненты объявлением переменной VoiceMod в модуле формы. В этом случае переменная живет пока живет форма и, соответственно, звук живет вместе с ней. |
|||
15
Cube
01.07.13
✎
09:25
|
(14) Ну и как она читает? Хорошо? Есть недочеты?
|
|||
16
FiftyStars
01.07.13
✎
09:53
|
(15) Смотря какой движок поставишь =)Алёнка нормально говорит =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |