Форум » [x]Harbour » Agent.Control.2 » Ответить

Agent.Control.2

Dima: Исходник [pre2] REQUEST HB_GT_WVG_DEFAULT proc main local oAgent local pers REQUEST HB_CODEPAGE_RU866 hb_cdpSelect( "RU866" ) IF ( oAgent := win_oleCreateObject("Agent.Control.2") ) != NIL .and. hb_fileexists(hb_GetEnv( "WINDIR")+'\MSAgent\Chars\merlin.acs') oAgent:Connected := 1 lpers:=oAgent:Characters:Load("merlin","merlin.acs") if valtype(lpers)=="O" pers:=oAgent:Characters("merlin") pers:MoveTo(Wvt_GetScreenWidth()/2-pers:Width()/2,Wvt_GetScreenHeight()/2-pers:Height()/2,0) pers:show(0) pers:Play("Explain") pers:Speak("Привет Вася Пупкин") inkey(4) pers:Stop() endif endif return Cборка c:\hb32\bin\hbmk2 test -lhbwin -lgtwvg [/pre2] Каким образом убрать задержку вывода перед каждым словом в строке pers:Speak("Привет Вася Пупкин") ? PS Пробовал так , но на скорость вывода не повлияло pers:Speak("\Spd=300\Привет\Spd=300\Вася\Spd=300\Пупкин") и так pers:Speak("\Pau=0\Привет\Pau=0\Вася\Pau=0\Пупкин")

Ответов - 12

fil: А голосовой движок ты ставил ?

Dima: fil пишет: А голосовой движок ты ставил ? Нет он мне не нужен. Сама фраза "Привет Вася Пупкин" вылазит на экран с задержкой перед каждым словом и победить нужно эту задержку.

fil: А так есть задержка ? pers:Speak("Привет") pers:Speak("Вася") pers:Speak("Пупкин")


Dima: fil пишет: А так есть задержка ? Да и выдается все отдельными месагами

Dima: Обгуглился уже и решения все не нахожу

fil: 1. Может стоит сделать Pau > 0 2. pers:Speak("Привет", "c:\My.wav") или так "Привет" в балоне, а говорит вавный файл

Dima: fil Спасибо дружище но все это не то. C PAU игрался....результат НОЛЬ и скорее всего это катит если включен звуковой движок а его нет (не задействован). У 99% юзеров нет звуковой карты и еще раз напоминаю что задержка с выводом самой месаги на экран , задержка между словами. Что Think что Speak без разницы , задержка у них одинакова по крайней мере на глаз ;) Ты пример то пробовал собирать ? Он по ходу самодостаточный.

AlexMyr: Dima пишет: Каким образом убрать задержку вывода перед каждым словом в строке pers:Speak("Привет Вася Пупкин") ? Собрал у себя пример, проверил, вроде выводит без задержек между словами. А какие задержки Дима, 1, 2, 3, .05, .5 ... (сек)?

Dima: AlexMyr Завтра выложу видео ;) Задержка порядка 1 секунды может чуть больше . А хотелось бы что бы фразу сразу целиком показало без задержек. А на деле Привет (задержка [она же пауза]) Вася (задержка [она же пауза]) и тд

AlexMyr: Немного потестил, т.к. русские слова не произносятся у меня, то все вроде быстро, без задержек, а когда англицкие вставил, то слова появляются по мере их произношения, вот. Дима попробуй у себя такой vbs [pre2]On Error Resume Next strAgentName2 = "MERLIN" strAgentPath2 = "C:\Windows\Msagent\Chars\" & strAgentName2 & ".acs" Set objAgent2 = CreateObject("Agent.Control.2") objAgent2.Connected = TRUE objAgent2.Characters.Load strAgentName2, strAgentPath2 Set objPeter = objAgent2.Characters.Character(strAgentName2) objPeter.MoveTo 700,300 objPeter.Show objPeter.Play "GetAttention" objPeter.Play "GetAttentionReturn" objPeter.Speak("your message here") Wscript.Sleep 1000 Set objAction= objPeter.Hide Do While objPeter.Visible = True Wscript.Sleep 250 Loop[/pre2] Може есть какой другой метод, к-й выводит месагу, без произношения?

AlexMyr: Да, на работе тоже задержки заметны, видимо выводит слова по мере их произношения.

Dima: Удалось победить пока вот так только pers:Think("Привет.Вася.Пупкин") если вместо точки поставить скажем chr(255) он его воспримется как пробел и будет снова задержка между словами



полная версия страницы