我们正在尝试为我们的网络应用程序使用语音呼叫。 我们尝试使用以下代码:
public class MakeCall {
public static final String ACCOUNT_SID = "ACbXXXXXXXXXXXXXXXXXXXXXXXX";
public static final String AUTH_TOKEN = "545XXXXXXXXXXXXXXXXXXXXXXXX";
public static final String TWILIO_NUMBER = "+185XXXXXXXXX";
public static void main(String[] args) throws TwilioRestException {
TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
Account mainAccount = client.getAccount();
CallFactory callFactory = mainAccount.getCallFactory();
Map<String, String> callParams = new HashMap<String, String>();
callParams.put("From",TWILIO_NUMBER);
callParams.put("To", "+919014512394");
callParams.put("Url", "http://ahoy.twilio.com/voice/api/demo");
Call call = callFactory.create(callParams);
System.out.println(call.getSid());
}
}
从上面的代码中,我们可以听到twilio客户的声音,即欢迎来到Twilio语音演示应用程序。按1听明天的天气预报。按2听一首歌。按3创建或加入会议桥。按4录制您的声音5秒钟。
其实我们想通过拨打twilio号码与其他手机号码说话
基本上我们是twilio API.Plz的新手指导我们 提前谢谢
答案 0 :(得分:0)
Twilio开发者传道者在这里。
您编写的代码将在您调用该端点时启动新呼叫。如果你想发起一个新的电话,然后连接到另一个号码,这样你们两个人就可以说话,你需要稍微改变一下Dials为你做的号码。
这是一个充实的工作示例,向您展示如何选择您想与之交谈的人,然后拨打该人。
package com.twilio;
import com.twilio.twiml.Gather;
import com.twilio.twiml.Method;
import com.twilio.twiml.Play;
import com.twilio.twiml.Say;
import com.twilio.twiml.TwiMLException;
import com.twilio.twiml.VoiceResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
public class TwilioServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
// Create a dict of people we know.
HashMap<String, String> callers = new HashMap<String, String>();
callers.put("+14158675309", "Curious George");
callers.put("+14158675310", "Boots");
callers.put("+14158675311", "Virgil");
String fromNumber = request.getParameter("From");
String knownCaller = callers.get(fromNumber);
String message;
if (knownCaller == null) {
// Use a generic message
message = "Hello Monkey";
} else {
// Use the caller's name
message = "Hello " + knownCaller;
}
// Create a TwiML response and add our friendly message.
VoiceResponse twiml = new VoiceResponse.Builder()
.say(new Say.Builder(message).build())
// Play an MP3 for incoming callers.
.play(new Play.Builder("http://demo.twilio.com/hellomonkey/monkey.mp3").build())
.gather(new Gather.Builder()
.action("/handle-key")
.method(Method.POST)
.numDigits(1)
.say(new Say
.Builder("To speak to a real monkey, press 1. Press any other key to start over.")
.build())
.build()
)
.build();
response.setContentType("application/xml");
try {
response.getWriter().print(twiml.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
按下数字后,将调用/ handle-key端点。这是拨打另一个号码的逻辑发生的地方
package com.twilio;
import com.twilio.twiml.Dial;
import com.twilio.twiml.Number;
import com.twilio.twiml.Say;
import com.twilio.twiml.TwiMLException;
import com.twilio.twiml.VoiceResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class TwilioHandleKeyServlet extends HttpServlet {
@Override
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
String digits = request.getParameter("Digits");
VoiceResponse twiml;
// Check if the user pressed "1" on their phone
if (digits != null && digits.equals("1")) {
// Connect 310 555 1212 to the incoming caller.
Number number = new Number.Builder("+13105551212").build();
Dial dial = new Dial.Builder().number(number).build();
// If the above dial failed, say an error message.
Say say = new Say.Builder("The call failed, or the remote party hung up. Goodbye.").build();
twiml = new VoiceResponse.Builder().dial(dial).say(say).build();
} else {
// If they didn't press 1, redirect them to the TwilioServlet
response.sendRedirect("/twiml");
return;
}
response.setContentType("application/xml");
try {
response.getWriter().print(twiml.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
您可以阅读此内容的完整说明,并在此quickstart中找到其他示例。
希望这可以帮助你。