python-3.x TwiML™语音:不< Play>使用Google Cloud Storage URL

kxkpmulp  于 2023-10-21  发布在  Python
关注(0)|答案(1)|浏览(103)

我正在尝试使用Twilio Voice播放mp3文件。mp3文件上传到GCS存储桶,mp3文件的URL格式如下:
https://storage.googleapis.com/project_name/folder_name/file_name.mp3
下面是使用hhtp调用的python flask中的代码片段:

@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文件,但当我使用说/播放小部件时,我给予上面的URL,mp3正在播放。Twilio有什么问题,或者我做错了什么?

jvidinwx

jvidinwx1#

你所提到的这个问题似乎是正确的。这个URL实际上是有效的吗?你的函数调用的URL是完全相同的吗?
https://storage.googleapis.com/project_name/folder_name/file_name.mp3
我的建议是检查Twilio控制台Error Log或调用日志,以查看Twiml调用的实际URL。如果URL无效或找不到文件,那么Twilio调试器应该显示错误。如果错误日志中没有显示任何内容,请检查呼叫日志并查看正在调用的实际URL。
另一个可能的罪魁祸首,是mp3的一个非常高的比特率或实际上不是一个mp3?这可能是Twilio正在超时转码您的文件或有问题,它-这些错误应该显示在错误日志。

相关问题