我想将我的网页与后端 Flask 应用程序集成。该网页有一个“听取您的回答”按钮,该按钮将播放 gtts 生成的 mp3 文件的录音。但是 gtts 不允许我将音频文件保存在一个文件夹中,当在我的网页上单击按钮时,我可以从该文件夹中播放该文件。请帮忙
我尝试直接运行音频,并尝试使用 send_file 选项,该选项允许用户直接下载音频文件。但我不希望用户下载音频文件,我希望他直接单击按钮并听到答案。
这是导致其下载的代码:
@app.route('/play_speech')
def play_speech():
# Retrieve parameters from the URL
translated_processed_answer = request.args.get('translated_processed_answer', '')
selected_language = request.args.get('selected_language', '')
# Strip HTML tags from the translated answer
cleaned_text = strip_html_tags(translated_processed_answer)
# Generate speech audio for the cleaned text
speech_text = cleaned_text
language = selected_language if selected_language else 'en'
if speech_text:
tts = gTTS(text=speech_text, lang=language, slow=False)
audio_stream = BytesIO()
tts.write_to_fp(audio_stream)
audio_stream.seek(0)
return send_file(audio_stream, mimetype='audio/mpeg', as_attachment=True, download_name='speech.mp3')
else:
# Handle the case where there is no text to speak
return "No text to speak"
我尝试使用此代码将其保存到音频文件夹:
@app.route('/play_speech')
def play_speech():
# Retrieve parameters from the URL
translated_processed_answer = request.args.get('translated_processed_answer', '')
selected_language = request.args.get('selected_language', '')
# Strip HTML tags from the translated answer
cleaned_text = strip_html_tags(translated_processed_answer)
# Generate speech audio for the cleaned text
speech_text = cleaned_text
language = selected_language if selected_language else 'en'
if speech_text:
tts = gTTS(text=speech_text, lang=language, slow=False)
# Save the audio file in the 'audio' folder
audio_folder = os.path.join(os.path.dirname(__file__), 'audio')
os.makedirs(audio_folder, exist_ok=True)
audio_file_path = os.path.join(audio_folder, 'speech.mp3')
tts.save(audio_file_path)
# Return the path to the audio file
return send_file(audio_file_path, mimetype='audio/mpeg', as_attachment=True, download_name='speech.mp3')
else:
# Handle the case where there is no text to speak
return "No text to speak"
但这会返回以下错误:
127.0.0.1 - - [08/Oct/2023 12:31:57] "GET /audio/speech.mp3 HTTP/1.1" 404 -
你找到解决办法了吗?我有同样的问题。谢谢。