Ich versuche derzeit ApiRTC (apirtc) mit AngularJS und Cordova zu verwenden.AngularJS und ApiRTC
Ich möchte den Angerufenen "Annehmen", bevor der Anruf beginnt. Wenn der Angerufene akzeptiert, haben die Anrufer eine andere Benutzeroberfläche.
Aber immer, wenn ich versuche, mit callAudio() statt call()this example in meinem Projekt zu reproduzieren:
Der Anruf aufgebaut wird, bevor die Angerufene auf einem Klick kann „annehmen/ablehnen“ . Mit anderen Worten, das Ereignis callEstablished wird an den Aufrufer ausgelöst, bevor der Angerufene auf die Schaltfläche "Annehmen" klickt.
Wenn der Angerufene auf "Akzeptieren" klickt, wird ein weiterer callEstablished Ereignis ausgelöst.
Ich verwende die folgenden Anweisungen in dieser Reihenfolge
apiRTC.init({
apiCCId : $scope.callData.callerId,
apiKey : "<MY_API_KEY>",
onReady: sessionReadyHandler,
idConversionActivated : false,
});
dann
apiRTC.addEventListener("callEstablished", callEstablishedHandler);
apiRTC.addEventListener("userMediaSuccess", userMediaSuccessHandler);
apiRTC.addEventListener("incomingCall", incomingCallHandler);
apiRTC.addEventListener("userMediaError", userMediaErrorHandler);
apiRTC.addEventListener("hangup", hangupHandler);
apiRTC.addEventListener("remoteStreamAdded", remoteStreamAddedHandler);
apiRTC.addEventListener("connectedUsersListUpdate", connectedUsersListUpdateHandler);
apiRTC.addEventListener("error", function(e) {...});
dann
// webRTC client creation
webRTCClient = apiRTC.session.createWebRTCClient({
});
// Multi calls Activation
webRTCClient.setAllowMultipleCalls(true);
// Bandwitdh limitation
webRTCClient.setVideoBandwidth(300);
// Accept-Refuse
webRTCClient.setUserAcceptOnIncomingCall(true);
und schließlich:
webRTCClient.callAudio($scope.callData.receiverId);
Und nur mit diesen Anweisungen wird der Anruf hergestellt (Event + kann Sprache/Audio hören). Kann mir jemand sagen, was ich falsch mache?
Ich habe einen Code Beschreibung hinzugefügt, es kann helfen, das Problem zu zielen. – cacciutt