Концепция, которую я пытаюсь реализовать:
Веб-приложение с включенной речью, которое отображает то, что говорит пользователь, в пользовательском интерфейсе. Пример: Если пользователь говорит «Привет!», «Привет!» должен отображаться в пользовательском интерфейсе.
Что у меня есть:
Файлы, которые у меня есть в моем приложении:
speech.py
(имеет переменную (displayOnUI
), в котором хранится то, что говорит пользователь) speech.html
(где я хочу отобразить то, что говорит пользователь)
Примечание: speech.py
постоянно слушает пользователя и сохраняет сохранение того, что говорит пользователь, в переменной (displayOnUI
).
Что я пробовал:
Я попытался передать значение переменной displayOnUI
, которая находится в speech.py
, в view.py
а затем передать его в speech.html
, используя context
.
speech.py
displayOnUI= "Please say something.."
def SpeechRecognition():
while 1:
try:
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source, duration=1)
audioReceived = r.record(source, duration=3)
displayOnUI= r.recognize_google(audioReceived)
view.py
from SpeechApp.speech import displayOnUI
def speech(request):
data = displayOnUI
return render(request, "speech.html", {"data": data})
Speech. html
<div>
<h3>This is what I heard: {{data}} <h3/>
</div>
Проблема, с которой я столкнулся
Я могу отобразить начальное значение, которое присутствует в displayOnUI
(то есть «Пожалуйста, скажите что-нибудь ...») в пользовательском интерфейсе, однако я не могу отобразить обновленное значение (команду пользователя) displayUI
в speech.html
. (Думаю, это потому, что view.py
выполняется только один раз. Не уверен).
Как подойти к этой проблеме? Спасибо.