如何转换文本到通话?

时间:2012-11-20 11:47:25

标签: c# windows-phone-7 windows-phone-7.1 text-to-speech voicemail

正在构建WP7 Mango版本的应用程序。要求是,当从该应用程序向预定义的一组联系人发送消息时,如果发送消息的号码不能接收消息,则应该对这些号码和文本进行呼叫。消息(打算发送)应该在呼叫接收方的呼叫中读出。

我非常怀疑这可以在WP7上实现。这么想我错了吗?有什么方法可以实现这一目标吗?如果是,怎么样?

2 个答案:

答案 0 :(得分:2)

嗯...

  1. 有一个允许应用程序发送短信的启动器,但它需要用户交互,用户可以在发送之前更改短信。因此,您无法确切知道发送了哪些短信。

  2. 手机上没有API来检查电话号码是否可以接收短信(但也许您可以使用电话号码前缀或其他东西来解决这个问题)

  3. 无法通过编程方式拨打号码

  4. 没有办法向呼叫接收者播放声音。可以说,当应用程序大声播放声音时,用户可以打开手机的扬声器

  5. 当呼叫接收者接听电话时,无法通过编程方式告知。因此,当呼叫接收者回答

  6. 时,用户必须手动按下应用程序中的按钮

    总之,虽然它可能在某种程度上是可能的,但它需要如此多的用户交互才能使应用程序毫无意义;)

答案 1 :(得分:1)

您可以使用云中的SMS和IVR服务(例如SMSIfiedProphecy)来实现这些要求,而不是尝试直接从WP7执行此操作。

SMSIfied允许您通过简单易用的REST API发送和接收短信。您还可以获得在回调中发送文本消息的结果。这是一篇博客文章“Sending SMS messages with C# and SMSified”。

对于不接受短信的电话号码,您可以使用Prophecy拨打该号码并使用文字转语音(TTS)播放该信息。预言使用开放的W3C标准Call Control XML (CCXML)VoiceXML进行编程。您使用CCXML执行出站拨号,当用户或应答机应答时,您将控制传递给处理TTS的VoiceXML应用程序。 Prophecy IVR具有出色的呼叫进度分析功能,可以更轻松地在应答机/语音邮件上获取整个消息。你有没有从自动化系统那里得到那些切碎的信息? Voxeo documentation on CCXML在第F章中对如何执行出站拨号有很好的报道。有一个很好的开源项目叫VoiceModel,可以更容易地使用ASP.NET MVC 4开发VoiceXML应用程序。

要从WP7发起此出站拨号请求,只需要一个HTTP请求,该请求传递参数,如要拨打的号码和要在查询字符串中运行的CCXML应用程序。实际的CCXML和VoiceXML应用程序将作为Web应用程序托管。