我正在尝试使用 Twilio Voice 播放 mp3 文件。 mp3 文件上传到 GCS 存储桶,mp3 文件的 url 格式如下:
https://storage.googleapis.com/project_name/folder_name/file_name.mp3
下面是 python Flask 中的代码片段,它是使用 hhtp 调用来调用的:
@app.route('/hello', methods=['GET', 'POST'])
def welcome():
name = 'messi'
url = GCSAgent().search_mp3_file(name)
print(f'Logging url:{url}')
response = VoiceResponse()
response.play(url)
print(response)
return '200'
print(response)
的值如下:
<?xml version="1.0" encoding="UTF-8"?><Response><Play>https://storage.googleapis.com/project_name/folder_name/file_name.mp3</Play></Response>
当我接听电话时,没有播放 mp3 文件,但是当我使用 Say/Play 小部件并给出上面的 url 时,就会播放 mp3。 Twilio 有什么问题或者我做错了什么?
您列出的 Twiml 似乎是正确的。这个 URL 真的有效并且与您的函数调用的 URL 完全相同吗?
https://storage.googleapis.com/project_name/folder_name/file_name.mp3
我的建议是检查 Twilio 控制台 错误日志 或调用日志以查看 Twiml 调用的实际 URL。如果 URL 无效或未找到文件,则 Twilio 调试器应该显示错误。如果错误日志中没有显示任何内容,请检查调用日志并查看正在调用的实际 URL。
另一个可能的罪魁祸首是比特率非常高的mp3还是实际上不是mp3?可能是 Twilio 转码您的文件超时或出现问题 - 这些错误应该显示在错误日志中。