Вот простая программа преобразования текста в речь.Все, что он делает, - это то, что он принимает предложение и говорящего (не от пользователя) и печатает слово в то время, когда оно должно произносить это слово.Но проблема возникает с функцией печати (помеченной # /). Когда эта программа запускается, я хочу напечатать предложение в одну строку.Но когда функция печати (# / отмечена) имеет аргумент print ("", end = ""), она сначала говорит о содержимом, а затем печатает всю строку.
исходный код: -
import pyttsx;
def onStar(name):
print(name+":-",end="")
def onWord(name, location, length):
for x in range(location,length+location+1) :
print(a[x],end="")
print() #*/ The function I am talking about.
#case1(works correctly) case2(does not work correctly[bug])
# print("") print("",end="")
# print()
# or just any print() without end as 2nd arg.
sentence=a='The quick brown fox jumped over the lazy dog.
speaker="narrator"
engine = pyttsx3.init()
engine.connect('started-utterance', onStart)
engine.connect('started-word', onWord)
engine.say(a,speaker)
engine.runAndWait()
del engine
вывод: -
case 1 Слова печатаются с речью, но каждое слово находится на следующей строке
Рассказчик: -
быстрый
коричневый
лиса
прыгнул
над
ленивый
собака.
case2: - Текст печатается правильно, но печатается после произнесения предложения.
Рассказчик: -Быстрая коричневая лиса перепрыгнула через ленивую собаку.
ps: -Она похожа на питонане хочет, чтобы я печатал предложение в строке.