TwiML™ 语音:<Play> 不播放谷歌云存储网址

问题描述 投票:0回答:1

我正在尝试使用 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文件的属性:

当我接听电话时,没有播放 mp3 文件,但是当我使用 Say/Play 小部件并给出上面的 url 时,就会播放 mp3。 Twilio 有什么问题或者我做错了什么?

python-3.x google-cloud-storage twilio flask-restful twilio-twiml
1个回答
0
投票

您列出的 Twiml 似乎是正确的。这个 URL 真的有效并且与您的函数调用的 URL 完全相同吗?

https://storage.googleapis.com/project_name/folder_name/file_name.mp3

我的建议是检查 Twilio 控制台 错误日志 或调用日志以查看 Twiml 调用的实际 URL。如果 URL 无效或未找到文件,则 Twilio 调试器应该显示错误。如果错误日志中没有显示任何内容,请检查调用日志并查看正在调用的实际 URL。

另一个可能的罪魁祸首是比特率非常高的mp3还是实际上不是mp3?可能是 Twilio 转码您的文件超时或出现问题 - 这些错误应该显示在错误日志中。

© www.soinside.com 2019 - 2024. All rights reserved.