我想拨打一个号码并播放位于我电脑中的音频文件。
之前设置了Asterisk服务器。使用下面的代码我设法拨打一个号码,扩展名播放音频("这是一个测试电话")并挂断。我知道扩展会这样做,因为当我更改它时音频会发生变化。
如果我更改extensions.conf中的数据,也许我可以播放我想要的任何音频。但我做实习的公司并不允许我看到或改变Asterisk'文件。所以我必须在java中这样做。
长话短说,如何拨打号码播放我想要的音频然后挂断java。我在网上搜索了几天但却找不到任何东西。请帮帮我:(
public void run() throws IOException, AuthenticationFailedException,
TimeoutException
{
OriginateAction originateAction;
ManagerResponse originateResponse;
originateAction = new OriginateAction();
originateAction.setChannel(number);
originateAction.setContext(context);
originateAction.setExten(extension);
originateAction.setPriority(Integer.parseInt(priority));
originateAction.setTimeout(new Integer(30000));
managerConnection.login(); // connect to Asterisk and log in
originateResponse = managerConnection.sendAction(originateAction, 30000);// send the originate action and wait for a maximum of 30 seconds for Asterisk to send a reply
System.out.println(originateResponse.getResponse()); // print out whether the originate succeeded or not
managerConnection.logoff(); // and finally log off and disconnect
}
答案 0 :(得分:1)
查看this
您可以使用exec("播放","您的文件")来播放文件
public class ExampleCallIn extends BaseAgiScript {
public void service(AgiRequest request, AgiChannel channel) throws AgiException {
answer();
exec("Playback", "tt-monkeys");
hangup();
}
}
exec命令可以使用您的星号服务器定义的任何应用程序,如Dial或Originate