如何从我的Java应用程序拨打语音电话?如何使此计划有效?

时间:2016-01-20 02:51:06

标签: java phone-call voice

我正在尝试拨打号码或任何随机语音服务,因为它不一定有用,因为这是一个学校项目。这是我的jframe的代码。

我想要做的是,当我点击通话图标时,它会拨打该号码或语音程序。

public class Counselling extends JFrame {

    private JPanel contentPane;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Counselling frame = new Counselling();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public Counselling() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 510, 450);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JButton btnNewButton = new JButton("");
        Image images = new ImageIcon(this.getClass().getResource("/call.png")).getImage();
        btnNewButton.setIcon(new ImageIcon(images));
        btnNewButton.setBounds(106, 92, 268, 133);
        contentPane.add(btnNewButton);


        JButton button = new JButton("");
        button.setBackground(Color.WHITE);
        Image images2 = new ImageIcon(this.getClass().getResource("/msg.png")).getImage();
        button.setIcon(new ImageIcon(images2));
        button.setBounds(106, 241, 268, 125);
        contentPane.add(button);



        JLabel lblNewLabel_1 = new JLabel("");
        Image images1 = new ImageIcon(this.getClass().getResource("/oc.png")).getImage();
        lblNewLabel_1.setIcon(new ImageIcon(images1));
        lblNewLabel_1.setBounds(38, 16, 435, 60);
        contentPane.add(lblNewLabel_1);
    }
}

1 个答案:

答案 0 :(得分:0)

Twilio是最常见的服务,价格非常实惠。如果您使用的是Maven,请将其添加到您的pom.xml文件中进行安装:

<dependency>
    <groupId>com.twilio.sdk</groupId>
    <artifactId>twilio-java-sdk</artifactId>
    <version>3.4.5</version>
</dependency>

以下是一些关于如何拨打电话的示例代码:

import java.util.Map;
import java.util.HashMap;

import com.twilio.sdk.TwilioRestClient;
import com.twilio.sdk.TwilioRestException;
import com.twilio.sdk.resource.instance.Account;
import com.twilio.sdk.resource.instance.Call;
import com.twilio.sdk.resource.factory.CallFactory;

public class MakeCall {

    public static final String ACCOUNT_SID = "AC123";
    public static final String AUTH_TOKEN = "456bef";

    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("To", "5105551212"); // Replace with your phone number
        callParams.put("From", "(510) 555-1212"); // Replace with a Twilio number
        callParams.put("Url", "http://demo.twilio.com/welcome/voice/");
        // Make the call
        Call call = callFactory.create(callParams);
        // Print the call SID (a 32 digit hex like CA123..)
        System.out.println(call.getSid());
    }
}

有关更多信息,请查看适用于Java的Twilio安装指南:

https://www.twilio.com/docs/java/install