Python -GTTS-Twilio-短信mp3

时间:2018-10-11 04:49:17

标签: python-3.x twilio text-to-speech

我正在尝试使用gtts生成要作为变量传递的文本的音频文件(最终,我将抓取要读取的文本,但不是在此脚本中,这就是我使用变量的原因)我想给自己发一个正在生成的.mp3文件。但是它不起作用-这是我的代码。知道如何使用twilio向.mp3文件发送短信吗?

    import twilio
from gtts import gTTS
from twilio.rest import Client
accountSID = '********'
authToken = '****************'
twilioCli = Client(accountSID, authToken)
myTwilioNumber = '*******'
myCellPhone = '*****'
v = 'test'

#add voice
tts = gTTS(v)
y = tts.save('hello.mp3')
message = twilioCli.messages.create(body = y, from_=myTwilioNumber, to=myCellPhone)

这是我得到的错误,但是它引导我指向的链接没有指向发短信的mp3音频文件:

     raise self.exception(method, uri, response, 'Unable to create record')
twilio.base.exceptions.TwilioRestException: 
[31m[49mHTTP Error[0m [37m[49mYour request was:[0m

[36m[49mPOST /Accounts/********/Messages.json[0m

[37m[49mTwilio returned the following information:[0m

[34m[49mUnable to create record: The requested resource /2010-04-01/Accounts/********/Messages.json was not found[0m

[37m[49mMore information may be available here:[0m

[34m[49mhttps://www.twilio.com/docs/errors/20404[0m

1 个答案:

答案 0 :(得分:1)

这里是Twilio开发人员的传播者。

您不能将mp3文件作为短信的正文发送。如果要发送正文,则应为字符串。

您可以在美国和加拿大以媒体消息的形式传递mp3文件。在这种情况下,您需要在URL上提供mp3文件。然后,将该URL设置为邮件的media_url,如下所示:

message = twilioCli.messages.create(
  from_=myTwilioNumber,
  to=myCellPhone,
  media_url="http://example.com/hello.mp3"
)

我建议您仔细阅读documentation on sending media via MMSwhat happens to MIME types like mp3 in MMS