我制作了一个小型测试应用程序,用于测试cordova的phonertc插件。

但是我遇到了一个问题。当2个iPad从应用程序相互 call 时,只有被叫方可以看到 call 者,而 call 者却看不到被叫者,但是声音会通过两种方式传播,因此视频流出现了问题。

如果我在浏览器与浏览器之间测试该应用程序,则可以正常运行,并且当浏览器调用平板电脑时,它也可以运行。但是,当平板电脑调用浏览器时,情况并非如此,平板电脑之间的故事也是如此。

这是我处理phoneRTC插件的代码段。

messageHub.client.signal = function (message) {
    session.receiveMessage(data);
}
messageHub.client.callIncomming = function (user) {
    if(confirm(user + " is calling you?"))
    {
        StartSession(false, user);
        window.setTimeout(function(){
                          messageHub.server.acceptCall(user);
                          },1500);
    }
    else {
        messageHub.server.rejectCall(user);
    }
}

messageHub.client.callAccepted = function (user) {
    StartSession(true, user);
}

messageHub.client.callRejected = function (user) {
    alert(user + " didn't want to talk to you.");
}

function StartSession(initiator, user){
    session = new webRTC.Session(config);
    session.on('sendMessage', function(data){
        messageHub.server.signal(user, JSON.stringify(data));
    });
    webRTC.setVideoView({
        container: document.getElementById('videoContainer'),
        local: {
            position: [512, 288],
            size: [256, 144]
        }
    });

    session.call();
}

最佳答案

我有一个类似的问题,当我在videoContainer上的样式中设置了显式的高度和宽度时,它就可以工作:

  <div id="videoContainer" style="width: 300px; height: 300px;"></div>

10-04 23:45