我试图通过gTTS方法为帖子提供音频。 在这篇文章中做这个音频工作时,我收到错误'问题'对象没有属性' strip'。
def qpage(request):
contact_list = Questions.objects.all()
paginator = Paginator(contact_list, 1) # Show 25 contacts per page
page = request.GET.get('Q')
contacts = paginator.get_page(page)
spk = Questions.objects.get(id=page)
tts = gTTS(text=spk, lang='en')
tts.save("pcvoice.mp3")
os.system("start pcvoice.mp3")
return render(request, 'data/quit.html', {'contacts': contacts})
答案 0 :(得分:1)
由于spk
是 Questions
对象(您最好将对象重命名为Question
),因此会发生错误。这不是文本对象。
要将问题文本转换为语音,您需要从中获取问题文本。例如:
def qpage(request):
contact_list = Questions.objects.all()
paginator = Paginator(contact_list, 1) # Show 25 contacts per page
page = request.GET.get('Q')
contacts = paginator.get_page(page)
spk = Questions.objects.get(id=page)
tts = gTTS(text=spk.question_text, lang='en')
tts.save("pcvoice.mp3")
os.system("start pcvoice.mp3")
return render(request, 'data/quit.html', {'contacts': contacts})
(或存储问题文本的字段的名称)。
请注意,您需要找到一种将文件流传递给客户端的方法。您可以通过创建一个专用视图来实现这一点,该视图将mp3作为流获取,然后将其包装到响应中。