Quickblox Webrtc音频呼叫 - 听不到声音

时间:2017-03-05 11:44:05

标签: javascript jquery webrtc quickblox

我打电话给另一个用户,一切似乎都运转良好但我在麦克风上说话时听不到任何声音。 我只对音频通话感兴趣。

当您按下按钮并且另一个用户自动应答时,将启动呼叫。这是我的javascript代码:



          $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "newregistration.aspx/newReg",
                data: a,
                datatype: 'json',
                async: false,
                success: function (data) {
                    var s = data.d;
                    if (s == '1') {
                        alert('you have registered successfully');
                        window.location.assign = "http://localhost:6971/registration/registrations.aspx";

                    }
                    else {
                        alert('Sorry can not save try again');
                    }
                },
                error: function ()
                { console.log('Chech you User Id & Mobile No.'); }
            });




登录来电者 - Google Chrome:



(function (window, QB) {
    var CREDENTIALS = {
        appId: ,
        authKey: '',
        authSecret: ''
    };

    QB.init(CREDENTIALS.appId, CREDENTIALS.authKey, CREDENTIALS.authSecret);

    QB.createSession(function (err, result) {
        // callback function
        console.log("QB Session Created");

        var mediaParams = {
            audio: true
        };

        $("#connect").click(function () {
            var id = $('#usr').val();
            console.log("start connect");
            QB.chat.connect({ userId: id, password: "testtest" }, function (err, roster) {
                if (err) {
                    console.log(err);
                } else {
                    console.log("USER CONNECTED");

                    $("#call").click(function () {
                        console.log("start call");
                        var calleesIds = [24853124]; //24853088
                        var sessionType = QB.webrtc.CallType.AUDIO;

                        var session = QB.webrtc.createNewSession(calleesIds, sessionType);

                        session.getUserMedia(mediaParams, function (err, stream) {
                            if (err) {
                                console.log(err);
                            } else {
                                console.log("Success get user media");

                                var extension = {};
                                session.call(extension, function (error) {
                                    if (error) {
                                        console.log(error);
                                    }
                                    else
                                        console.log("Start Call");
                                });
                            }
                        });
                    });

                }
            });
        });

        QB.webrtc.onUserNotAnswerListener = function (session, userId) {
            console.log("User didn't answer: " + userId);
        };

        QB.webrtc.onCallListener = function (session, extension) {
            console.log("Incoming Call");
            console.log('Session: ', session);
            console.log('Extension: ', extension);
            var ss = session;
            
            ss.getUserMedia(mediaParams, function (err, stream) {
                if (err) {
                    console.log(err);
                } else {
                    console.log("Success get user media");
                    var extension = {};
                    ss.accept(extension);
                    ss.unmute('audio');
                }
            });
        };

        QB.webrtc.onAcceptCallListener = function (session, userId, extension) {
            console.log("user accepted call: " + userId);
            session.unmute('audio');
        };

    });
}(window, window.QB));




登录被叫方 - Google Canary



QB Session Created
app2.js:30 start connect
app2.js:36 USER CONNECTED
app2.js:39 start call
app2.js:49 Success get user media
quickblox.min.js:40 [QBWebRTC]: Call, extension: {}
quickblox.min.js:40 [QBWebRTC]: _createPeer, iceServers: {"iceServers":[{"url":"stun:stun.l.google.com:19302","urls":"stun:stun.l.google.com:19302"},{"url":"stun:turn.quickblox.com","username":"quickblox","credential":"baccb97ba2d92d71e26eb9886da5f1e0","urls":"stun:turn.quickblox.com"},{"url":"turn:turn.quickblox.com:3478?transport=udp","username":"quickblox","credential":"baccb97ba2d92d71e26eb9886da5f1e0","urls":"turn:turn.quickblox.com:3478?transport=udp"},{"url":"turn:turn.quickblox.com:3478?transport=tcp","username":"quickblox","credential":"baccb97ba2d92d71e26eb9886da5f1e0","urls":"turn:turn.quickblox.com:3478?transport=tcp"},{"url":"turn:turnsingapor.quickblox.com:3478?transport=udp","username":"quickblox","credential":"baccb97ba2d92d71e26eb9886da5f1e0","urls":"turn:turnsingapor.quickblox.com:3478?transport=udp"},{"url":"turn:turnsingapore.quickblox.com:3478?transport=tcp","username":"quickblox","credential":"baccb97ba2d92d71e26eb9886da5f1e0","urls":"turn:turnsingapore.quickblox.com:3478?transport=tcp"},{"url":"turn:turnireland.quickblox.com:3478?transport=udp","username":"quickblox","credential":"baccb97ba2d92d71e26eb9886da5f1e0","urls":"turn:turnireland.quickblox.com:3478?transport=udp"},{"url":"turn:turnireland.quickblox.com:3478?transport=tcp","username":"quickblox","credential":"baccb97ba2d92d71e26eb9886da5f1e0","urls":"turn:turnireland.quickblox.com:3478?transport=tcp"}]}
quickblox.min.js:40 [QBWebRTC]: RTCPeerConnection init. userID: 24853124, sessionID: 57f5dcc4-70d6-4c93-90c5-7793e580bfa7, type: offer
app2.js:57 Start Call
quickblox.min.js:40 [QBWebRTC]: getAndSetLocalSessionDescription success
quickblox.min.js:40 [QBWebRTC]: _startDialingTimer, dialingTimeInterval: 5000
quickblox.min.js:40 [QBWebRTC]: _dialingCallback, answerTimeInterval: 0
quickblox.min.js:40 [QBWebRTC]: onAccept. UserID:24853124. SessionID: 57f5dcc4-70d6-4c93-90c5-7793e580bfa7
app2.js:91 user accepted call: 24853124
quickblox.min.js:40 [QBWebRTC]: _clearDialingTimer
2quickblox.min.js:40 [QBWebRTC]: onIceCandidates. UserID:24853124. SessionID: 57f5dcc4-70d6-4c93-90c5-7793e580bfa7. ICE candidates count: 1
quickblox.min.js:40 [QBWebRTC]: 'setRemoteSessionDescription' success
quickblox.min.js:40 [QBWebRTC]: onIceConnectionStateCallback: checking
quickblox.min.js:40 [QBWebRTC]: onIceConnectionStateCallback: connected
quickblox.min.js:40 [QBWebRTC]: onIceConnectionStateCallback: completed




我做错了吗?

1 个答案:

答案 0 :(得分:1)

您必须将远程音频流添加到音频元素。

link

中读取onRemoteStreamListener