2014-06-27 25 views
2

如何在Twilio Api中使用應答按鈕回答,即時通訊無法在瀏覽器上撥打電話, 我想知道如何在應答按鈕上連接設備時如何應答或拒絕來電點擊,plz幫助我如何應答來電Twilio API

我的片段是

Twilio.Device.setup('<?=$token?>'); 

Twilio.Device.ready(function(device) { 
}); 

Twilio.Device.incoming(function(conn) { 
$("#number").val(conn.parameters.From); 
var ss= "Incomging Call:\n"+conn.parameters.From; 
$("#log").text("Incoming connection from " + conn.parameters.From); 
    // accept the incoming connection and start two-way audio 
    conn.accept(); 

}); 



Twilio.Device.error(function(conn) { 
alert("Error:\n"+data); 
}); 

function call() { 
    // get the phone number or client to connect the call to 
    // params = {"PhoneNumber": $("#number").val()}; 
    // Twilio.Device.connect(params); 
    Twilio.Device.connect(); 
    } 

    function hangup() { 
    Twilio.Device.disconnectAll(); 
    } 


<input type="text" id="number" name="number" /> 
<button class="call" onclick="call();"> 
    Answer 
</button> 

<button class="hangup" onclick="hangup();"> 
    Reject 
</button> 
<div id="log">Loading app</div> 

在twilio來電任何想法???

回答

4

Twilio福音傳教士在這裏。

您上面包含的代碼會自動應答來電,因爲您正在調用傳入的事件回調中的accept()函數。

如果您想更改應用程序,以便只有在單擊按鈕後才能應答呼叫,則需要首先向UI添加第二個按鈕。在該按鈕click事件中,您調用一個函數調用accept function

您可以繼續使用傳入回叫來執行某些操作,例如僅在有傳入呼叫時啓用接受按鈕,但請注意您需要創建一個全局變量來保存傳入連接,以便您可以訪問它在accept函數中。

var connection; 

Twilio.Device.incoming(function(conn) { 
    connection = conn; 

    $("#number").val(conn.parameters.From); 
    var ss= "Incomging Call:\n"+conn.parameters.From; 
    $("#log").text("Incoming connection from " + conn.parameters.From); 

    //enable the accept button 
    $(".accept").prop('disabled', false); 
}); 

function accept() { 
    connection.accept(); 
} 

<button class="accept" onclick="accept();" disabled>Accept</button> 

當然,在傳入函數中比上面顯示的要複雜得多。查看this blog post獲取更復雜的示例,其中顯示瞭如何使用jQuery對話框小部件來顯示屏幕彈出窗口。 希望有所幫助。

+0

我認爲priyanka可能有我一樣的問題。我的客戶端瀏覽器確實正在接聽電話,但由於麥克風的權限問題,接收方仍需要採取措施啓用麥克風。似乎只有Chrome給我任何方式來做到這一點。如果我在連接完成後主動點擊網頁,Firefox會作爲客戶,但我沒有跡象表明我需要這樣做。在IE中,我似乎沒有什麼可以做的。有什麼辦法來處理傳入的事件與處理這個代碼? – sydneyos

+0

通常,我在演示中所做的是在傳入函數中,我將動態更改頁面以顯示允許用戶知道有來電的彈出窗口(或覆蓋圖或類似的UI)。作爲該用戶界面的一部分,我還清楚地向用戶顯示他們需要讓瀏覽器訪問麥克風。這有幫助嗎? –

+0

是的,謝謝。是否有鏈接到這樣的演示和/或示例代碼? – sydneyos